編集: 以下のコードに問題はありませんでした。エラーは他の場所から発生していました。
コマンド変数は、実行したいコマンドです。name 変数は、コンピューター名のリストを取得しています。コマンドをエコーすると!使用したい値を返します。ただし、実際に !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