这似乎应该很简单,但我被卡住了。我正在遍历文本文件中的照片文件路径列表并删除每个路径。问题是如果 del 命令失败(如果文件不存在或正在被其他程序使用,则可能发生这种情况),我不会在日志中收到任何通知。
顺便说一句-这是 windows server 2008 R1 CMD。
这是我的代码:
@echo off
for /F %%A in (f:\deletePhotos\deletelist.txt) do (
echo del %%A /f >> f:\deletePhotos\log.txt 2>&1
)
以下是日志示例:
del f:\photos\11\48\ALX10-9322-48.jpg /f
del f:\photos\11\48\ALX10-9692-48.jpg /f
del f:\photos\11\48\LKSR20-5910-48.jpg /f
del f:\photos\11\48\LKSR20-8639-48.jpg /f
del f:\photos\11\48\SEMN4030836-48.jpg /f
del f:\photos\11\48\SEMN4036515-48.jpg /f
日志中的文件(上面)不存在(我检查过)。显然,我试图让日志显示一些错误,例如:
Could Not Find f:\photos\11\48\ALX10-9322-48.jpg
但相反,我只是得到命令本身的回声。请帮忙!
*更新* 想通了:好旧的试验和错误:不得不将日志输出和重定向移到 bat 文件执行之外。
像这样:
f:\deletephotos>del.bat f:\deletePhotos\delete_11.txt >> f:\deletePhotos\log.txt 2>&1
那成功了。