Saya tahu bahwa "dir / w" atau "dir / b" hanya menampilkan nama file. Sementara "dir / x" atau "dir / X" menunjukkan format 8.3, tetapi bersama-sama menunjukkan semua informasi lain seperti nama file format panjang, tanggal dan ukuran.
apakah mungkin untuk memanggil dir
, yang hanya menampilkan nama file (tidak menunjukkan tanggal atau ukuran), dan menunjukkannya dalam format 8.3?
windows
command-line
dir
athos
sumber
sumber
Jika Anda hanya ingin nama 8.3 dan tidak ada yang lain ditampilkan, jika Anda menggunakan "dir / -n" Anda akan mendapatkan nama 8.3 di awal setiap baris. Catatan: itu memisahkan ekstensi dari nama file dengan spasi daripada tanda titik.
Tapi Anda bisa menggunakan "dir / -n" di dalam for loop dalam file batch kemudian ekstrak substring dari 12 karakter pertama untuk menyingkirkan sisa setiap baris. Misalnya:
"Skip = 7" melompati 7 baris pertama, yang bukan file atau nama direktori dan output dari "dir / -n" disalurkan melalui dua perintah find untuk menghapus dua baris terakhir yang dihasilkan oleh "dir / -n "(simbol pipa" | "harus" lolos "dengan" ^ ". Karena ekstraksi substring terjadi dalam loop for dalam file batch," setlocal EnableDelayedExpansion "diperlukan" dan "!" harus digunakan dengan variabel x daripada "%". Untuk contoh di atas, Anda akan melihat output berikut dari mengeksekusi file batch:
sumber
abc.txt
untuk melihat ini dalam tindakan. Kemudian, untuk bersenang-senang, buat file bernamaabc.docx
.Setelah bermain dengan ini selama satu jam saya datang dengan yang berikut:
dari dos prompt:
dari file .BAT atau .CMD:
Catatan: skrip ini masih memiliki masalah dengan nama file yang panjang, tetapi akan melanjutkan dan membuat file teks 8dot3 yang kemudian dapat dipompa ke file batch lain.
Berikut ini adalah seluruh tes. File bat saya:
sumber
Untuk daftar file ke semua sub direktori coba yang ini:
sumber