2017-08-07 83 views
-2

我在我的批處理文件中使用以下語法。它在文件存在時工作正常,但在文件不存在時不起作用。 它說:命令的語法不正確。如果存在不工作如果該文件不存在

我的腳本:

if exist "D:\workingfolder\Data\formmed\*." ren D:\workingfolder\Data\formmed\*. medicalflags.TXT 

是否有人可以幫忙嗎?

+0

如果通配符文件規範與任何文件都不匹配,則結果爲空字符串。 –

+0

該命令完全有效。當有多個文件重命名爲SAM目標/目標已經存在時,您只會遇到錯誤。 – LotPings

回答

0

我建議如下;
if exist "D:\workingfolder\Data\formmed\*" ren D:\workingfolder\Data\formmed\*.* medicalflags.TXT
我在我的電腦上測試過。希望幫助。謝謝。

0

該命令是完全有效的。

當有多個文件重命名爲SAM目標/目標已經存在時,您只會遇到錯誤。

如果你想覆蓋可能存在的目標文件使用的移動命令/ Y選項

if exist "A:\workingfolder\Data\formmed\*." move /y A:\workingfolder\Data\formmed\*. A:\workingfolder\Data\formmed\medicalflags.TXT 
0

If exist工作愉快。它報告true如果請求的項目存在 - 和dirname \ *。存在 - 它是目錄本身。

這是通過ren因文件不存在而失敗的事實驗證的 - if exist不會生成該消息 - 它只能說明其參數是否存在。

所以 - 對象是要找到一個文件是否存在。

attrib "D:\workingfolder\Data\formmed\*." |find "File not found">nul 
if errorlevel 1 (
echo file exists - do the rename 
) else (
echo file missing 
) 

如果沒有文件或目錄名的attrib命令將生成File not found消息。

相關問題