For loop 使用“";at";循环中的CMD

For loop 使用“";at";循环中的CMD,for-loop,cmd,at-job,For Loop,Cmd,At Job,我想远程整理磁盘碎片。我试过这个简短的脚本: for /f "delims=" %%s in (servers.txt) do ( at \\%%s 20:00 defrag.exe c: -f ) @pause 通常其他命令工作,例如,ping%%s。不幸的是,当我使用“at”命令时,该命令不起作用(命令在第一台服务器上“循环”,然后CMD窗口关闭) 我做错了什么?我认为defrag.exe c:-f应该用引号括起来 for /f "delims=" %%s in (servers.txt)

我想远程整理磁盘碎片。我试过这个简短的脚本:

for /f "delims=" %%s in (servers.txt) do (
at \\%%s 20:00 defrag.exe c: -f
)
@pause
通常其他命令工作,例如,
ping%%s
。不幸的是,当我使用“
at
”命令时,该命令不起作用(命令在第一台服务器上“循环”,然后CMD窗口关闭)


我做错了什么?

我认为
defrag.exe c:-f
应该用引号括起来

for /f "delims=" %%s in (servers.txt) do (
at \\%%s 20:00 "defrag.exe c: -f" ) 
@pause

根据“at/?”您不应该使用\\%%s吗?但是为什么?这是唯一的变量。。。我想。。。如果我错了,请纠正我。现在我明白了…我的错误。。。但是当我使用\\%%s时,它也不起作用。。。。