2013-04-17 146 views
0

我寫了一個小批處理文件,可將所有內容從一個文件夾移動到另一個文件夾。 這工作正常。但是,源文件夾包含兩種類型的文件。其中一種是.doc,另一種是.xml。兩個文件都有相同的名稱。但有時,其中一個文件(.doc或.xml)缺失。Windows批處理文件 - 移動具有相同文件名但擴展名不同的文件

@echo off 
move /y "\\networklocation\folder\folder\*.*" "M:\localfolder" 

問題是如何讓我的腳本只移動具有相同名稱的.doc和.xml文件。例如,源代碼包含1.doc,2.doc和1.xml。腳本只能移動1.doc和1.xml。 2.doc應該保留在源文件夾中。

我已經找過這個問題,但還沒找到真正的東西。

回答

1

試試這個:

@echo off &setlocal 
for %%i in ("\\networklocation\folder\folder\*.doc") do (
    if exist "%%~dpni.xml" (
     move /y "%%~i" "M:\localfolder" 
     move /y "%%~dpni.xml" "M:\localfolder" 
    ) 
) 
+0

你的腳本工作就好了。我忘了我使用更長的擴展名,然後只是.xml。完整的擴展名是.doc.metadata.properties.xml。在將其調整爲代碼後,它可以正常工作。 Thx – Dafalgor

+0

是的,在cmd中,擴展以最後一個點開始,如果有的話。 – Endoro

+1

還有一個問題。爲什麼你使用我的文檔和dpni的xmls?我知道我只是一個櫃檯。但是dpni代表什麼,如果它沒有任何意義,爲什麼不直接在這裏使用我呢? – Dafalgor

相關問題