文件夾c:\folder1
包含subfolder1
,subfolder2
等。如何使用CMD將所有子目錄中具有特定擴展名的文件移動到其父文件夾中?
這兩個子目錄.pdf
和.db
文件。
如何使用Windows命令解釋器將所有.pdf
文件移動到c:\folder1
?
文件夾c:\folder1
包含subfolder1
,subfolder2
等。如何使用CMD將所有子目錄中具有特定擴展名的文件移動到其父文件夾中?
這兩個子目錄.pdf
和.db
文件。
如何使用Windows命令解釋器將所有.pdf
文件移動到c:\folder1
?
只是採取了野生刺在黑暗中在這裏,但如果我沒有記錯DOS可以處理水珠和mv
相當於是MOVE
,所以:
MOVE C:\FOLDER1\*\*.PDF C:\FOLDER1\
我試過拷貝B:\ * \ *。* C:\ temp \ cdrw \`,並且出現這個錯誤:`文件名,目錄名或卷標語法不正確。' – Ryan 2017-07-15 20:21:02
MOVE "C:\FOLDER 1\PDF FILES\*.pdf" "C:\FOLDER 1"
MOVE "C:\FOLDER 1\DB FILES\*.db" "C:\FOLDER 1"
移動命令後,源文件夾後面跟着文件將被移動到的目的地。每個文件擴展名前面的*是一個通配符函數,它將選擇該目錄中存在的所有指定文件類型。
此外,如果您可以使用這些命令創建一個.bat文件,如果你想。要做到這一點,你的命令粘貼到記事本並保存爲蝙蝠,而不是.TXT
然後,您可以雙擊該文件,將文件中的每個你做的時間執行命令。如果您有任何需要重複執行的任務,這很有用。
我不認爲有一個通配符可以在子文件夾上工作,所以你想使用一個循環遍歷每個子文件夾並移動* .pdf;
FOR /R [your root folder path] %%G IN (*.pdf) DO move %%G [new path]
DO後的命令是天生在自己的報價。如果您預計在源或目標的空間,使用雙引號來封裝它們,例如:
FOR /R "source folder with spaces" %%G IN (*.pdf) DO move "%%G" "dest path with spaces"
注意周圍%% G中的報價,這些都需要移動命令來解決的路徑。
**編輯:針對接受的答案, 從命令提示在Windows XP和Windows 7,分別爲:
這表明一個通配符不工作的路徑,只爲文件放在單個目錄中(例如C:\ folder * .files)。遇到通配符時,命令提示符不會遞歸運行。
對於OP來說兩年已經太晚了,但因爲這是我試圖解決的問題,所以我想我會爲後人的緣故發佈解決方案。外部for循環列出了工作目錄中的子目錄,inner for循環列出了要移動到目標路徑的子目錄。
for /d %f in (*.*) do for /d %e in (%f\*.*) do move "%e" DestinationPath
如果DestinationPath不是工作目錄的子文件夾,它會嘗試將DestinationPath移動到自身中,這樣做效果最佳。
要運行它批發市場前確認命令,開始時只是呼應像這樣最終的移動命令:
for /d %f in (*.*) do for /d %e in (%f\*.*) do echo move "%e" DestinationPath
和複製/粘貼的結果之一來運行它,並確認它的工作您預期的方式。然後刪除回聲並移動。
這爲我工作
此命令將遞歸人的PDF文件從源複製到Windows 7中使用CMD目標目錄 - 測試和工程
用於/ R 「C:\ source_directory中\」 % %×中(* .PDF)別動 「%% X」 「C:\目標目錄\」
希望它有助於
的Robocopy爲我做的奇觀:
robocopy c:\cache c:\cache-2012 ?????-2012*.hash /S /MOV
我用它來移動所有具有c:\cache
及其衆多子目錄的掩碼。
我知道這是高級的,但以防萬一它可以幫助任何人。
用它來搜索所有子文件夾的文件.MKV,並將其移動到批處理文件駐留在當前目錄中。
FOR /D /r %%F in ("*") DO (
pushd %CD%
cd %%F
FOR %%X in (*.mkv) DO (
move "%%X" "%CD%"
)
popd
)
@echo on
for /r "F:\All_drawings\newdrg\" %%x in (*.tiff) do move "%%x" "F:\Alldrawings"
pause
{移動所有文件從newdrg
文件夾及其「子文件夾」到目標文件夾Alldrawings
,該命令用於命令行使用單個「%」的批處理文件操作。
還有另一種方式在Windows資源管理器來做到這一點(圖形用戶界面,而不是命令提示符):
你要買用任何特定的編程語言來做這件事? – 2010-12-05 03:53:08
對不起,我應該提到這一點。在使用CMD的MS-DOS中。 – mihai 2010-12-05 04:03:38