1

誰かが次のコマンドラインで間違っていることを教えてもらえますか?

${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
4

1 に答える 1

1

多くの。

  1. ${WORKSPACE} = ...cmdPowerShell構文でもありません。意味がありません。使用する

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

    代わりは。

  2. 前の行を。で終了することにより、複数行のコマンドを使用できます^。ただし、1つではなく3つのコマンドを実行する必要があります。1つのオプションは、実行するバッチファイルを作成することです(確かに最もクリーンなアプローチ)。しかし、あなたはすでにそれを持っているので、あなたは賢くなることができます:

    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
    

    これによりバッチファイルが再度実行されますが、引数を使用してバッチ内でその引数が存在するかどうかを確認し、作業を実行します。

于 2012-11-12T11:27:30.227 に答える