BAT скрипт для запуска разных команд на разных машинах - PullRequest
2 голосов
/ 29 декабря 2010

Мне нужно написать скрипт .bat, который выполняет разные наборы команд в зависимости от того, на каком компьютере он запущен.

Если он работает на компьютере, называемом «анализ», он должен работать:

mv *.pdf D:\Export\Worksheet
mv *.csv D:\Export\Statistics

В противном случае необходимо запустить:

mv *.pdf C:\Export\Worksheet
mv *.csv C:\Export\Statistics

Любые указатели в правильном направлении приветствуются.

Ответы [ 4 ]

2 голосов
/ 29 декабря 2010

Переменная окружения COMPUTERNAME содержит то, что вы ищете.

Что-то вроде следующего должно помочь вам:

if /i "%COMPUTERNAME%" == "analysis" (
    mv *.pdf D:\Export\Worksheet
    mv *.csv D:\Export\Statistics
) else (
    mv *.pdf C:\Export\Worksheet
    mv *.csv C:\Export\Statistics
)
1 голос
/ 29 декабря 2010

Вы хотите просмотреть переменную окружения COMPUTERNAME.
Начните с

echo %COMPUTERNAME%

В принципе, я думаю, что вы хотите:

if %COMPUTERNAME% == analysis ....
0 голосов
/ 29 декабря 2010

Я обычно использую что-то вроде:

::Common settings
SET X=....
....

GOTO %COMPUTERNAME%

:COMPUTER1
::Commands for #1
....
GOTO :EOF

:COMPUTER2
::Commands for #2
....
GOTO :EOF
0 голосов
/ 29 декабря 2010

Вы можете использовать% COMPUTERNAME%, как указали другие. Возможно, вы захотите сделать ваш сценарий более читабельным, определив локальную переменную, содержащую путь, который варьируется между компьютерами, а затем используя его, чтобы избежать повторения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...