Saya biasanya membuka folder induk dan mencari *
untuk memilih semua file dalam subfolder, tetapi dalam hal ini, saya memiliki lebih dari 1.000.000 file yang harus saya sortir, sehingga penjelajah saya sering macet ketika mencoba menyalin banyak file melalui GUI. Saya tidak yakin seberapa efektif ini akan melalui command prompt atau file batch, tetapi patut dicoba, saya kira.
Yang perlu saya lakukan adalah membuatnya begitu
|parent
| |123
| | 123abc.png
| |456
| | 456def.png
| |789
| | 789ghi.png
menjadi
|parent
| 123abc.png
| 456def.png
| 789ghi.png
Ya, struktur file aktual saya memiliki 3 karakter pertama dari nama file yang diberikan ke nama folder, jika itu dapat membantu sama sekali dalam menyortir ini.
sumber
Juga gunakan variabel lingkungan %% ~ dpi yang merujuk ke folder file. Anda kemudian dapat menghapus trailing backslash yang kemudian akan mendapatkan folder induk dari file. Di bawah ini tidak hanya itu.
Itu! mengaktifkan Ekspansi Dinamis dan dapat digunakan untuk %% ~ i serta ParFldr. Jadi %% ~ i can be! CurrFldr! Ini sebenarnya akan diperlukan saat pengujian Anda karena beberapa file akan memiliki string Batch tidak akan suka. Dengan tidak suka, maksud saya mereka akan menyebabkan skrip gagal dan keluar. Saya baru saja mengubah semua %% A menjadi %% i untuk kejelasan. Benar-benar tidak ada bedanya jika huruf A digunakan atau huruf kecil i Apa masalahnya secara konsisten menggunakan huruf yang sama di seluruh, jadi saya mengubah setiap %% A menjadi %% i.
sumber
Ini adalah beberapa kode contoh:
Dengan versi ini Anda menyeret folder dari mana Anda ingin menghapus subfolder ke batch dan itu akan memindahkan semua file dari subfolder ke folder induk. Saya menggunakannya untuk file arsip yang diunduh yang secara acak memiliki atau belum memiliki subfolder. Pikiran Anda, Itu dibuat dengan satu subfolder dalam pikiran, sebagai spesifik untuk kasus saya.
'Shift' adalah untuk pindah ke argumen berikutnya, ketika Anda menyeret banyak subfolder sekaligus pada skrip.
sumber