我正在處理一個腳本來自動執行一些任務。基本上,它只是重命名文件,如果它們存在。但是,這些文件對於某些其他軟件的操作至關重要。如果重命名文件失敗,或者它找不到文件,我希望它說出它是哪個文件。但是,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