3

我目前正在编写一个批处理文件(第一次这样做)以远程调用我们网络中的机器(所有嵌入式 XP)并安排在晚上 11:00(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 进行碎片整理,所以我假设问题出在我重定向的方式上。

任何帮助将不胜感激!

4

1 回答 1

0

我会尝试添加引号:

@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
于 2012-10-04T15:25:24.937 回答