2016-09-27 65 views
0

嗨,我是新來的批處理腳本,我必須運行一個理智測試,因爲我必須將所有基本腳本文件複製到一個文件夾。所有基本腳本文件將以批處理腳本來複制以.1.tst結尾的腳本文件

.1.tst結尾。

我用下面的代碼

for /r C:\ %f in (*.tst) do @copy "%f" D:\pictures\ 

但不工作作爲expected.So我不能夠得到與

.1.tst結束的所有文件。

任何人都可以幫助我。

+0

如果將'(* .tst)'更改爲'(* .1.tst)',會發生什麼? – Compo

+0

無法複製。你能舉一個缺少文件的例子嗎? – Stephan

+0

雙''''''''''''%'f' ... – aschipfl

回答

0
@echo off 
set src_folder=C:\Users\Mallik\Desktop\ 
set dst_folder=C:\Users\Mallik\Desktop\abc\ 

rem /Y Suppresses prompting to confirm you want to overwrite an existing destination file. 
xcopy %src_folder%*.1.txt %dst_folder% /y 

xcopy可以很容易地做到這一點。


更新時間:(爲遞歸搜索某些擴展文件)

下面的代碼將遞歸搜索ABC的桌面文件夾,

,並複製所有文件結束與.1.txt到輸出文件夾。

@echo off 
set src_folder=C:\Users\Mallik\Desktop\abc\ 
set dst_folder=C:\Users\Mallik\Desktop\output\ 

cd %src_folder% 
call :searchFile 
goto :eof 

:searchFile 
for %%f in (*.1.txt) do xcopy %%f %dst_folder% 
for /D %%d in (*) do (
    cd %%d 
    call :searchFile 
    cd .. 
) 
exit /b 

rem dst_folder should not be under src_folder, 
rem otherwise warning "File cannot be copied onto itself" 
rem removed /Y option in xcopy to prevent same name file be overwrited. 

希望它有幫助。

+0

嗨Anson謝謝你的回覆。我已經使用腳本,但它適用於一個文件,但我有多個文件夾和多個文件 – Mallik

+0

需要更多細節。它遞歸迭代所有文件夾和文件,並將所有文件以特定擴展名返回到一個文件夾? – Pika

+0

是的。遞歸的我應該添加任何選項 – Mallik