我试图拼凑一个脚本,从文件中读取服务器的列表,驱动器映射到每个人,建立一个文件夹,将文件复制到该文件夹,运行命令和结果输出到该文件夹,读取新文件的内容,在新的清单执行对每一个项目的命令,然后取消映射驱动器。批处理脚本不吃奶命令
我前两个部分的工作,但是当我尝试读取从创建的.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