9
編集:以下のコードでは何も問題はありませんでした。エラーは他の場所から来ていました。可変文字列をバッチスクリプトでコマンドとして実行する
command変数は実行したいコマンドです。名前変数がコンピュータ名のリストを取得しています。エコー!コマンド!私は使用したい値を返します。しかし、実際には!commandを実行すると、すべてのマシンを削除するために必要なコマンドを実行する必要があります。または%command%では、name変数は追加されず、失敗します。拡張値が前のループが実行するコマンドの値であるので、それは、解析時に展開されるため
d:
cd "Program Files\admin"
setlocal EnableDelayedExpansion
SET string=%
for /f "tokens=*" %%a in (oldMachines.txt) do (
set name=%%a
set command=sbadmcl.exe AdminUser:admin -AdminPwd:password -Command:DeleteMachine -Machine:!name!
REM echo !name!
REM echo !command!
REM !command!
%command%
)
pause
私が使用しているプログラムに対して問題が発生しました。コードは正しいが、プログラムはそれを許可していない。あなたの答えは役に立ちましたが、ありがたいです。 – spassen