Adakah cara untuk mendapatkan jumlah ruang disk kosong dari disk atau folder di CMD tanpa harus menginstal beberapa aplikasi pihak ketiga?
Saya memiliki CMD yang menyalin file besar ke direktori tertentu dan tentu saja dapat menggunakan tingkat kesalahan kembali dari perintah salin, tetapi kemudian saya harus menunggu waktu yang diperlukan untuk menyalin file (misalnya ... untuk itu lalu disk penuh dan operasi penyalinan gagal).
Saya ingin tahu sebelum saya mulai menyalin apakah ada ide sama sekali. Mencoba utilitas DU.EXE dari Sysinternals, tetapi acara itu hanya menempati ruang.
Jawaban:
Jika Anda menjalankan "
dir c:\
", baris terakhir akan memberi Anda ruang disk kosong.Edit: Solusi yang lebih baik: "
fsutil volume diskfree c:
"sumber
dir ..*
(ataudir c:\thing\..*
) akan menampilkan daftar yang sangat singkat, apakah ada nol atau banyak file di direktori atau tidak.Solusi yang mungkin:
solusi yang lebih canggih , untuk Windows Xp dan yang lebih baru:
Alat Windows Management Instrumentation Command-line (WMIC) (Wmic.exe) dapat mengumpulkan banyak informasi tentang Windows Server 2003 serta Windows XP atau Vista. Alat mengakses perangkat keras yang mendasari dengan menggunakan Windows Management Instrumentation (WMI). Bukan untuk Windows 2000.
Seperti dicatat oleh Alexander Stohr di komentar :
dir
' masih akan melakukan pekerjaan itu),dir
' bergantung pada lokal.sumber
@FOR /F "tokens=2 delims==" %%S IN ('wmic /NODE:"%COMPUTERNAME%" LogicalDisk Where ^(DriveType^="3" and DeviceID^="%some_folder:~0,2%"^) Get FreeSpace /VALUE') DO @SET freespace=%%S
fsutil
membutuhkan hak istimewa Administrator untuk menjalankannya, terlepas dari apa yang Anda lakukan dengannya.Dengan menggunakan perintah ini Anda dapat menemukan semua partisi, ukuran & ruang kosong:
wmic logicaldisk get size, freespace, caption
sumber
Anda dapat menghindari koma dengan menggunakan / -C pada perintah DIR.
Jika Anda ingin membandingkan ruang yang tersedia dengan ruang yang dibutuhkan, Anda dapat melakukan hal seperti berikut ini. Saya menentukan nomor dengan pemisah ribuan, lalu menghapusnya. Sulit untuk memahami nomor tanpa koma. SET / A bagus, tapi berhenti bekerja dengan jumlah yang besar.
sumber
Skrip berikut akan memberi Anda byte gratis pada drive:
Perhatikan bahwa ini tergantung pada output dari
dir
perintah Anda , yang membutuhkan baris terakhir yang berisi ruang kosong format24 Dir(s) 34,071,691,264 bytes free
. Secara khusus:for
loop untuk mendeteksi baris secara eksplisit daripada mengandalkan pengaturanbytesfree
untuk setiap baris).tokens=
sedikit untuk mendapatkan kata lain).,
karakter (atau Anda dapat mengubah substitusi dari koma ke yang lain).Itu tidak mencemari namespace lingkungan Anda, hanya menyetel
bytesfree
variabel saat keluar. Jikadir
keluaran Anda berbeda (misalnya, pengaturan lokal atau bahasa yang berbeda), Anda perlu menyesuaikan skrip.sumber
df.exe
Menampilkan semua disk Anda; kapasitas total, terpakai dan gratis. Anda dapat mengubah output dengan berbagai opsi baris perintah.
Anda bisa mendapatkannya dari http://www.paulsadowski.com/WSH/cmdprogs.htm , http://unxutils.sourceforge.net/ atau di tempat lain. Ini adalah unix-util standar seperti du.
df -h
akan menampilkan semua ruang disk yang digunakan dan tersedia di drive Anda. Sebagai contoh:Cygwin tersedia gratis dari: https://www.cygwin.com/ Ia menambahkan banyak alat canggih ke command prompt. Untuk mendapatkan hanya ruang yang tersedia di drive M (seperti yang dipetakan di windows ke drive bersama), seseorang dapat masuk:
sumber
Dengan menggunakan solusi paxdiablo yang sangat baik, saya menulis skrip batch yang sedikit lebih canggih, yang menggunakan huruf drive sebagai argumen masuk dan memeriksa apakah drive ada dengan cara yang rumit (tetapi tidak cantik):
note1: Anda dapat mengetik huruf sederhana (misalnya x) atau dapat menggunakan format x: atau x: \ sebagai huruf drive dalam argumen
note2: script akan menampilkan stderr dari% chkfile% hanya jika ukurannya lebih besar dari 0
note3: Saya menyimpan skrip ini sebagai freedisk.cmd (lihat penggunaan)
sumber
Saya membuat variasi untuk menghasilkan ini dari skrip:
volume C: - 49 GB total space / 29512314880 byte(s) free
Saya menggunakan diskpart untuk mendapatkan informasi ini.
sumber
Apakah cscript adalah aplikasi pihak ketiga? Saya sarankan mencoba Microsoft Scripting , di mana Anda dapat menggunakan bahasa pemrograman (JScript, VBS) untuk memeriksa hal-hal seperti Daftar Ruang Disk yang Tersedia .
Infrastruktur skrip ada di semua versi Windows saat ini (termasuk 2008).
sumber
cscript
adalah Microsoft Scripting. Ini adalah versi konsol dari penerjemah skrip Windows (wscript
adalah versi GUI).