2015-09-30 67 views
0

我想從文件夾中複製所有文件(如果它們不存在於具有批處理文件的其他文件夾中)。這是我迄今爲止所擁有的。從文件夾複製文件(如果不存在於具有批處理文件的其他文件夾中)

for %%F in ("p:\Ferm batch reports\*.*") do if not exist "\Staging$\NgeBatchRecipeOriginal" copy %%F "\Staging$\Ferm batch reports\" 

for %%F in ("p:\Yeast Prop batch reports\*.*") do if not exist "\Staging$\NgeBatchRecipeOriginal\" copy %%F "\Staging$\Yeast Prop batch reports\" 

當我運行這個,它什麼都不做。

+0

在'for'身體嘗試手動命令爲一個單一的項目,並檢查你的路徑規範,我認爲是不正確的...... – aschipfl

回答

0

宏%〜NXF只提取文件名以extention:

for %%f in (dir1\*.*) do if not exist "Dir2\%%~nxf" copy %%f Dir3 
0
... copy %%F ... 

因爲%% F包含空格,copy其解釋爲幾個參數,而不是一個用空格。

將其更改爲

... copy "%%F" ... 
+0

我會去'「% %〜F「,因爲在'%% F'已經包含一對雙引號的情況下,這避免了雙引號...... – aschipfl

+0

@aschipfl一般來說,你是對的,但是用'for'命令, %% F'不會有引號。 – Stephan

+0

我同意,但我始終建議'%%〜F'作爲文件路徑,儘管它在某些情況下可能沒有什麼區別...... ;-) – aschipfl

相關問題