作者hirokofan (笠原弘子 命!)
看板EZsoft
標題[打屁] 批次把檔案放到資料夾的最上層
時間Fri Nov 28 20:31:33 2025
呃....簡單的說就是壓縮檔案的時候多壓了一層,解開後要跑兩層才會找到檔案
用這個批次檔可以一次解決一堆目錄
功能:把指定目錄裡面的檔案不管幾層都放到最上層
如R:\folder1\folder2\*.txt
把R:\folder1\拿去處理後 *.txt 會移到R:\folder1\下面
把以下內容用utf-8存成批次檔(如move.bat),
要用的時候把一個或多個資料夾拖到批次檔上面就可以了
chcp 65001
echo off
for %%d in (%*) do if exist "%%~d"\ (
@echo 產生檔案清單 %%d
echo ### Move files to %%~d\ > templist.txt
dir "%%~d" /b /a:d > templist0.txt
for /f "delims=" %%f in (templist0.txt) do (
dir "%%~d"\"%%f" /b /s /a:-d >> templist.txt
)
@echo 依照清單搬移檔案
for /f "skip=1 delims=" %%i in (templist.txt) do ( move "%%i" "%%~d"\ )
@echo 備份檔案清單 %%~nd-backup.txt
copy templist.txt "%%~nd-backup.txt"
)
pause
檔案撞名就無法移動,檔案移動無法復原,風險自負QQ
會產生很多暫存檔案
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.32.18 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/EZsoft/M.1764333096.A.6C9.html
1F:→ cancelpc: 不如把第一層改名,在把第二層移動到上層. 11/29 23:44
2F:→ cancelpc: 速度快得很,不會真搬資料. 11/29 23:44
3F:→ cancelpc: ren folder1 folder_tmp 11/29 23:45
4F:→ cancelpc: move folder_tmp\folder2 folder1 11/29 23:46
5F:→ cancelpc: rd folder_tmp 11/29 23:46
6F:→ cancelpc: 直接去掉多的一層 11/30 03:03
7F:→ hirokofan: 如果有兩個子資料夾呢? 11/30 07:17
8F:→ falcon: 把目標移去臨時目錄,再把剩下空目錄刪除,之後移回來 11/30 17:50
9F:→ falcon: 同分割區內移動只會修改索引不會真的搬移 11/30 17:52
10F:→ falcon: 但移動項目一多還是須要一段等待時間 11/30 17:52
11F:→ falcon: 如果有多層重複目錄,你可能要改用powershell比較好做 11/30 17:54
12F:→ falcon: 一層層檢查內容是不是單一資料夾 11/30 17:55
13F:→ falcon: cmd要很難做一些比較複雜的操作 11/30 18:01
14F:→ falcon: 但改用PS要注意很多不直覺的行為,例如Move-Item指定目的 11/30 18:13
15F:→ falcon: 地,若是現有檔案則提示衝突;現有目錄則放入其中;不存 11/30 18:13
16F:→ falcon: 在則是將來源重新命名為目標名稱 11/30 18:13
17F:→ cancelpc: 2個目錄一樣啊,樓主只想去掉多的一層(root) 11/30 21:37
18F:→ cancelpc: 同磁碟,把上面那隻程式改成loop 壓縮根目錄做一遍就行 11/30 21:38
19F:→ cancelpc: for /d %i in (*) do ( 11/30 21:42
20F:→ cancelpc: robocopy "%i" . /S /MOVE 11/30 21:42
21F:→ cancelpc: rd "%i" 11/30 21:42
22F:→ cancelpc: ) 11/30 21:43
23F:→ cancelpc: 透過 robocopy 參數改變同檔名規則. 11/30 21:44
24F:→ cancelpc: 就算不用 robocopy, 用原本基本指令也是做的到 11/30 21:44
25F:→ falcon: 因為樓主不管幾層都放到最上層,我就認為是不定層數 12/01 02:21
26F:→ falcon: 聽起來是每個壓縮檔可能多一到二不定冗餘層數 12/01 02:26
27F:→ falcon: 感覺很像解壓又壓縮沒操作好堆疊出來的 12/01 02:30
28F:→ falcon: 樓主沒說來源是樹狀目錄還是單層多檔案,如果是後者根本 12/01 02:44
29F:→ falcon: 不需要管路徑修剪範圍,直接把檔案都往第一層子目錄丟就 12/01 02:44
30F:→ falcon: 好 12/01 02:44
31F:推 cation234: 你這功能其實和很老的小程式suction.exe很像哦~ 12/02 16:20