这应该是简单的不知道为什么它不工作... 我有一个2 cmds的批处理文件,并试图让它将输出写入日志文件。批处理文件创建一个日志文件
这里是什么在我的批处理文件:
PUSHD "\\My Very Long\Exact Directory\" >>logfile.txt
for /f "skip=7 eol=: delims=" %%F in ('dir /b /o-d *.xlsm') do del "%%F" >>logfile.txt
的PUSHD是因为这个文件是在一个远程文件存储\\My Very Long\Exact Directory\
,我想应采取的目录内的动作,其中的批处理文件而不是它从中被调用的目录。第二个命令通过删除旧副本来清理目录。
当我运行批处理时,通过从远程服务器调用它,或者通过直接双击它,cmd窗口打开并运行清理。它会在名为'logfile.txt'的目录中创建一个文件,但它是空的。
计划从远程服务器调用此批处理文件的过程已计划好,并且我希望看到稍后调用此过程时发生了什么。如何获得结果以写入日志文件。我想它应该与cmd窗口弹出窗口打开并显示的内容非常相似(不一样)。
我引用这个其他职位:Redirecting Output from within Batch file
增加更多,因为我已经被告知PUSHD也不DEL有输出... 我把一个暂停的文件中捕捉cmd窗口。我期待捕获这些信息,当然还有任何发生的错误。也许这是错误的方法?
X:\File Path\BackUps>PUSHD "\\My Very Long\Exact Directory\" 1>>logfile.txt
Y:\File Path\BackUps>for /F "skip=7 eol=: delims=" %F in ('dir /b /o-d *.xlsm') do del "%F" 1>>logfile.txt
Y:\File Path\BackUps>del "2015 CSLD Weekly Comment Analysis 2015-10-10 9_11_09 .xlsm" 1>>logfile.txt
Y:\File Path\BackUps>del "2015 CSLD Weekly Comment Analysis 2015-10-10 23_55_29 .xlsm" 1>>logfile.txt
Y:\File Path\BackUps>pause
Press any key to continue . . .
您的日志文件是空的,因为'pushd'和'del'都不会向屏幕输出任何内容。只有在使用'>'和'>>'时,屏幕上显示的内容才会发送到文件。 – SomethingDark
@Mofi完美谢谢!我特别感谢您注意一个详细而简洁的答案。我相信我已经为您提供了正确答案的功劳。再次,非常好的帮助,谢谢! – AdrianBoeh