我当前正在编写一个批处理文件(第一次这样做),以远程调用我们网络(所有嵌入式XP)中的计算机,并安排在11:00 PM(23:00)进行碎片整理。
当然,这并没有按计划进行,这是可以理解的。但是,我想获取通常在命令提示符下给出的日志记录信息,例如“磁盘已-%碎片整理”或错误等。进行该调用的当前行的状态是这样的:
@FOR /F "Tokens=1" %%a IN (%List%) DO at \\%%a 23:00 defrag C: /A > C:\...\log.txt
注意:在C:\和\ defraglog.txt之间的省略号实际上输入了完整的路径名。对于上下文,%List%是IP地址列表。
但是,碎片整理甚至不会启动。根据我正在测试的远程计算机,命令如下所示:
defrag C: /A and C:\...\log.txt
当我查看计划任务时。
现在,当我简单地使用:
@FOR /F "Tokens=1" %%a IN (%List%) DO at \\%%a 23:00 defrag C:
我确实在远程计算机上的11:00 PM进行了碎片整理,所以我认为问题出在重定向的方式上。
任何帮助将不胜感激!
最佳答案
我会尝试添加引号:
@FOR /F "Tokens=1" %%a IN (%List%) DO at \\%%a 23:00 defrag C: /A > %APPDATA%\log.txt
如果这不起作用,请在包含以下内容的网络共享上制作一个批处理文件defragXP.cmd:
@echo off
defrag C: /A > C:\...\log.txt
然后安排批处理:
@FOR /F "Tokens=1" %%a IN (%List%) DO at \\%%a 23:00 \\server\batches\defragXP.cmd