我試圖拼湊一個腳本,從文件中讀取服務器的列表,驅動器映射到每個人,建立一個文件夾,將文件複製到該文件夾,運行命令和結果輸出到該文件夾,讀取新文件的內容,在新的清單執行對每一個項目的命令,然後取消映射驅動器。批處理腳本不吃奶命令
我前兩個部分的工作,但是當我嘗試讀取從創建的.txt文件的項目,我不能讓的名字在我的命令來填充。這是醜陋的,但這裏是腳本和結果(我從我的本地工作c:\ temp文件夾到本地映射爲z遠程臨時文件夾:\ TEMP):
-----代碼 - ---
for /F "tokens=*" %%S in (servers.txt) do (
net use Z: \\%%S\c$ /USER:domain\user PASSWORD
z:
md temp
c:
cd\
cd temp
copy sdelete.exe z:\temp
wmic /NODE:"%%S" logicaldisk get name > z:\temp\disks.txt
)
for /F "tokens=*" %%D in (z:\temp\disks.txt) do (
psexec.exe \\%%S c:\temp\sdelete -z %%D
)
c:
cd temp
net use z: /delete /y
-----結束碼-----
該文件被創建,但結果爲最後部分是呼應爲: C:\溫度>爲/ (:\ TEMP \ disks.txt Z)做F 「令牌= *」 在%d(psexec.exe \%S C:\ TEMP \ sdelete -z%d)
作爲新手, 任何幫助,將不勝感激! 謝謝!
mfm4aa的反應似乎是正確的。重點是'元變量'(如%% S)僅在創建它的'FOR'循環中有效。一旦循環結束,其值將消失。 – Magoo 2013-03-22 17:07:46