LINUX.ORG.RU

из cmd в gitbash!

 ,


0

1

Помогите «перевести» код из cmd в gitbash! Вот мой код:

@echo off
setlocal enableextensions enabledelayedexpansion
cd c:\windows\system32
set iCount=%~1

if defined iCount (
    for /l %%i in (1, 1, %iCount%) do (
        for /f "usebackq delims=" %%j in (`wmic.exe Process call Create "notepad.exe" ^| find.exe /i "ProcessId"`) do for /f "tokens=2 delims==; " %%k in ("%%j") do (
            set sProcessID%%i=%%~k
        )
    )

    set sProcessID
    pause

    set /a iCount -= 1

    for /l %%i in (1, 1, !iCount!) do (
        >nul wmic.exe Process where "ProcessID='!sProcessID%%i!'" call Terminate 0
    )
) else (
    echo Usage: %~nx0 ^<Count^>
    exit /b 1
)

endlocal
exit /b 0
Он открывает нное число блокнотов(как параметр пакетного файла, а потом закрывает все кроме оного)+(в линуксе я пока что нулевой, код нужен для сравнения команд) Буду очень благодарен!



Последнее исправление: beastie (всего исправлений: 1)

LORCODE, блин. Не прочитать же, что у вас там.

в линуксе я пока что нулевой, код нужен для сравнения команд

Честно говоря я не понимаю, как запуск wmic из gitbash поможет в изучении Линукс.

mky ★★★★★
()

Лучше - распиши задачу подробнее, здесь конечно много вендузятников, но они все не палятся.

Например - по какому критерию один из блокнотов должен остаться открытым?

onhydro
()
Ответ на: комментарий от onhydro

Например было запущено 5 блокнотов, тогда первые четыре Блокнота из запущенных пакетным файлом принудительно были закрыты, остался только один последний Блокнот. Тот Блокнот, в котором создавал и сохранял пакетный файл, тоже остался открытым, т.е., никак не был затронут работой пакетного файла

Khmel
() автор топика
Ответ на: комментарий от Khmel

Прочитал и не уловил смысла.

Нужно открыть, допустим, 10 блокнотов, а простом просто взять из закрыть 9? WAT!?

WitcherGeralt ★★
()
Ответ на: комментарий от Khmel

Хз как там под виндой, но по идее ты хочешь что-то в духе:

#!/bin/bash

if [ -z $1 ]
then
    echo "usage"
    exit 1
fi

for i in $(seq 1 $1)
do
    gvim &
    pid=$!
    p[$i]=$pid
done

for i in $(seq 1 $(($1 -1)))
do
    kill ${p[$i]}
done
onhydro
()
Ответ на: комментарий от proud_anon

В условии задачи такого не было же. А стимулировать автора чтением его cmd не есть хорошая практика.

onhydro
()

Ох помню недавно был такой же топик.

#!/bin/bash

EDITOR=$(git var GIT_EDITOR)

COUNT=$1
if ! echo $COUNT | grep -Pq '^\d+$'; then
  echo "Usage: $0 COUNT"
  exit 1
fi

EDITOR_PIDS=()
for i in $(seq $COUNT); do
  nohup "$EDITOR" &>/dev/null &
  EDITOR_PIDS+=($!)
done

read -p 'Press any key to continue'

unset EDITOR_PIDS[0]

for pid in ${EDITOR_PIDS[@]}; do
  kill $pid
done

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 6)
Ответ на: комментарий от KennyMinigun

не совсем понял где запускаются блокноты, если не сложно, по-подробнее

Khmel
() автор топика
Ответ на: комментарий от Khmel

Ой беда беда. С таким уровнем навыка решения проблем, я бы крайне рекомендовал пройти хороший курс вместо попыток самообучения и травмирования и так не сильно уравновешенных людей на лоре своими этюдами на вражьем языке.

onhydro
()
Ответ на: комментарий от Khmel

line 9: gvim: command not found :(

notepad.exe: command not found :(

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.