BAT脚本在不同的机器上运行不同的命令

时间:2010-12-28 22:10:49

标签: windows scripting

我需要编写一个.bat脚本,根据运行它的机器执行不同的命令集。

如果它在名为“分析”的计算机上运行,​​则需要运行:

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

否则需要运行:

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

任何指向正确方向的人都会受到赞赏。

4 个答案:

答案 0 :(得分:2)

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 :(得分:1)

您想要查看环境变量COMPUTERNAME 从

开始
echo %COMPUTERNAME%

基本上,我认为你想要:

if %COMPUTERNAME% == analysis ....

答案 2 :(得分:0)

您可以像其他人指出的那样使用%COMPUTERNAME%。您可能希望通过定义一个局部变量来使您的脚本更具可读性,该局部变量包含机器之间不同的路径,然后再使用它来避免重复。

答案 3 :(得分:0)

我通常使用类似的东西:

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

GOTO %COMPUTERNAME%

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

:COMPUTER2
::Commands for #2
....
GOTO :EOF