windows批量多行命令?

时间:2012-11-12 09:49:12

标签: windows batch-file command

有人可以告诉我以下命令行中的内容是不正确的吗?

${WORKSPACE} = C:\jenkins\workspace\compile-job

cmd.exe /s /c START /b /BELOWNORMAL
mkdir C:\jenkins\workspace\old
move /Y %WORKSPACE%\* C:\jenkins\workspace\old
rmdir /q /s C:\jenkins\workspace\old

1 个答案:

答案 0 :(得分:1)

丰盛。

  1. ${WORKSPACE} = ...既不是cmd也不是PowerShell语法,它没有任何明智之处。使用

    set WORKSPACE=C:\jenkins\workspace\compile-job
    

    代替。

  2. 您可以使用^之前的行结束多行命令。但是,您希望执行三个命令而不是一个命令。一种选择是编写一个批处理文件来执行(当然是最干净的方法)。但既然你已经拥有一个,你就可以变得聪明:

    if not %1==x (
      START "" /b /BELOWNORMAL %0 x
      goto :eof
    )
    
    set WORKSPACE=C:\jenkins\workspace\compile-job
    
    mkdir C:\jenkins\workspace\old
    move /Y %WORKSPACE%\* C:\jenkins\workspace\old
    rmdir /q /s C:\jenkins\workspace\old
    

    这将再次执行批处理文件,但是使用参数并在批处理中查看该参数是否存在并且是否正常工作。