2008-10-09 40 views
1

假設您有100個目錄,並且每個目錄都有一個名爲.pdf的文件存儲在別的地方。如果您想將每個文件移動/複製到具有相同名稱的目錄中,可以在Windows命令行上完成嗎?從Windows命令行自動複製文件

+0

是powershell的一個選項? – Oli 2008-10-09 09:59:28

回答

0

你需要編寫一個腳本,通過每一個文件迭代(和它的路徑),提取文件名 - 然後將文件移動到同名的目錄

2

你可以做到這一點「PDF」。使用FOR command。東西線:

for /f %%f in ('dir /s /b c:\source\*.pdf') do copy "%%f" c:\target 

如果你有文件名w的文本文件/完整路徑的名單,說files.txt,你也可以做

for /f %%f in (files.txt) do copy "%%f" c:\target 
4

這是一個批處理腳本,可能你想要做什麼:

setlocal 
set target_dir=D:\ 
set source_dir=C:\WINDOWS 

for %%i in (%source_dir%\*.pdf) do move %%i %target_dir%\%%~ni.%%~xi 

endlocal 
2

在命令行:

for /f %f in ('dir /s /b mypath\*.pdf') do @copy %~nxf myotherpath 

因爲它在命令行而不是批處理文件中,所以只需要%,而不是%%。

dir/s/b是遞歸且裸露的。 (請參閱目錄/?)

複製之前的@停止每個複製命令的回顯。你可以迴應他們,如果你喜歡,取決於你。

%〜nxf獲取%f的名稱和擴展名。 (看電話/?)

相關問題