我正在处理一个脚本来自动执行一些任务。基本上,它只是重命名文件,如果它们存在。但是,这些文件对于某些其他软件的操作至关重要。如果重命名文件失败,或者它找不到文件,我希望它说出它是哪个文件。但是,REN命令在失败时不是非常具有描述性。我知道如果它失败了,它会将ERRORLEVEL提升到1.是否还有其他信息可以从失败中获得,如文件名?或者它几乎只是成功或失败?批处理文件中的错误处理
将运行的机器是Windows 7及更高版本,所以如果需要,PowerShell也是一个选项,但我更喜欢批处理。
由于
它成功或失败。没有关于哪个文件导致失败的信息。 –
您所需要的只是在ren回显试图重命名的文件后附加一个条件执行命令。 'Ren filea.txt fileb.txt ||回声仁filea.txt fileb.txt失败' – LotPings
我对此页面上的所有内容感到困惑。在我看来,你已经把文件名作为迭代变量捕获了,不是吗?我的意思是,如果你通过文件循环来执行重命名,使用类似'for %% I'的命令来执行重命名“%%〜fI”“%%〜nI.bak”'或类似的操作,对吧?为什么不只是'... do(ren %%〜fI“”%%〜nI.bak“|| echo Renaming %%〜nxI failed)''或类似的?可能相关的,你可能会发现[prename.bat](https://stackoverflow.com/a/38191137/1683264)对批量重命名很有用。 – rojo