簡體   English   中英

CMD-根據列表將文件移動到文件夾嗎?

[英]CMD - Move files to the folders dependent on the list?

我有一個這樣的內容列表(list.txt):

C:\\ Users \\ Computers \\ 39323227
C:\\ Users \\ Computers \\ 39323227.zip
C:\\ Users \\ Computers \\ 39328635
C:\\ Users \\ Computers \\ 39328635.zip
C:\\ Users \\ Computers \\ 39329113.zip
C:\\ Users \\ Computers \\ 39329288.zip
C:\\ Users \\ Computers \\ 39331075
C:\\ Users \\ Computers \\ 39331075.zip
C:\\ Users \\ Computers \\ 39331386.zip
C:\\ Users \\ Computers \\ 39904282
C:\\ Users \\ Computers \\ 39904282.zip
C:\\ Users \\ Computers \\ 39905798
C:\\ Users \\ Computers \\ 39905798.zip
C:\\ Users \\ Computers \\ 39906307.zip

父文件夾中的所有文件和創建的文件夾都像這樣:

C:\\ Users \\ Computers \\ 39323227
C:\\ Users \\ Computers \\ 39328635
C:\\ Users \\ Computers \\ 39331075
C:\\ Users \\ Computers \\ 39904282
C:\\ Users \\ Computers \\ 39905798
C:\\ Users \\ Computers \\ 39323227.zip
C:\\ Users \\ Computers \\ 39328635.zip
C:\\ Users \\ Computers \\ 39329113.zip
C:\\ Users \\ Computers \\ 39329288.zip
C:\\ Users \\ Computers \\ 39331075.zip
C:\\ Users \\ Computers \\ 39331386.zip
C:\\ Users \\ Computers \\ 39904282.zip
C:\\ Users \\ Computers \\ 39905798.zip
C:\\ Users \\ Computers \\ 39906307.zip

是否可以編寫CMD來將文件移動到文件夾,如下所示?

C:\\ Users \\ Computers \\ 39323227 \\ 39323227.zip
C:\\ Users \\ Computers \\ 39328635 \\ 39328635.zip
C:\\ Users \\ Computers \\ 39328635 \\ 39329113.zip
C:\\ Users \\ Computers \\ 39328635 \\ 39329288.zip
C:\\ Users \\ Computers \\ 39331075 \\ 39331075.zip
C:\\ Users \\ Computers \\ 39331075 \\ 39331386.zip
C:\\ Users \\ Computers \\ 39904282 \\ 39904282.zip
C:\\ Users \\ Computers \\ 39905798 \\ 39905798.zip
C:\\ Users \\ Computers \\ 39905798 \\ 39906307.zip

如果沒有,您是否可以建議使用任何軟件來幫助我解決此問題?

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION 
FOR /f "delims=" %%a IN (q22540287.txt) DO (
 IF "%%~xa"==".zip" (
rem  ECHO MD "!destdir!\" 
  ECHO MOVE "%%a" "!destdir!\"
 ) ELSE (SET "destdir=%%~dpna")
)
GOTO :EOF

我使用了一個名為q22540287.txt的文件, q22540287.txt包含用於測試的數據。

所需的MOVE命令僅僅ECHO編用於測試目的。 驗證命令正確無誤后 ,將ECHO MOVE更改為MOVE即可實際移動文件。 附加>nul以禁止顯示報告消息(例如, 1 file moved

我添加了一行以確保所選目標目錄存在。 要激活該功能,請從MD...行中移除REM 所需的MD命令只是ECHO編用於測試目的。 驗證命令正確無誤后 ,將ECHO MD更改為MD以實際創建目錄。 附加2>nul以禁止顯示錯誤消息(例如,當目錄已存在時)

對我來說的結果(請注意,為了進行測試,我將C:更改為U: :)

MOVE "u:\Users\Computers\39323227.zip" "u:\users\computers\39323227\"
MOVE "u:\Users\Computers\39328635.zip" "u:\users\computers\39328635\"
MOVE "u:\Users\Computers\39329113.zip" "u:\users\computers\39328635\"
MOVE "u:\Users\Computers\39329288.zip" "u:\users\computers\39328635\"
MOVE "u:\Users\Computers\39331075.zip" "u:\users\computers\39331075\"
MOVE "u:\Users\Computers\39331386.zip" "u:\users\computers\39331075\"
MOVE "u:\Users\Computers\39904282.zip" "u:\users\computers\39904282\"
MOVE "u:\Users\Computers\39905798.zip" "u:\users\computers\39905798\"
MOVE "u:\Users\Computers\39906307.zip" "u:\users\computers\39905798\"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM