Saya menggunakan Windows.
Saya ingin menghapus semua file dan folder di folder dengan panggilan sistem.
Saya mungkin menyebut seperti itu:
>rd /s /q c:\destination
>md c:\destination
Apakah Anda tahu cara yang lebih mudah?
Saya menggunakan Windows.
Saya ingin menghapus semua file dan folder di folder dengan panggilan sistem.
Saya mungkin menyebut seperti itu:
>rd /s /q c:\destination
>md c:\destination
Apakah Anda tahu cara yang lebih mudah?
Jawaban:
Tidak, saya tidak tahu siapa pun.
Jika Anda ingin mempertahankan direktori asli karena alasan tertentu (ACL, & c.), Dan sebaliknya benar-benar ingin mengosongkannya, Anda dapat melakukan hal berikut:
del /q destination\*
for /d %x in (destination\*) do @rd /s /q "%x"
Ini pertama-tama menghapus semua file dari direktori, dan kemudian secara rekursif menghapus semua direktori bertingkat, tetapi secara keseluruhan menjaga direktori tingkat atas sebagaimana adanya (kecuali isinya).
Perhatikan bahwa dalam sebuah file batch Anda perlu melipatgandakan %
dalam for
lingkaran:
del /q destination\*
for /d %%x in (destination\*) do @rd /s /q "%%x"
destination
dengan jalur, mungkin menggunakan tanda kutip di sekitar semuanya jika perlu.
del c:\destination\*.* /s /q
bekerja untuk saya. Saya harap itu berhasil juga untuk Anda.
del *.*
del "../../server/front-end\*.*"
Menurut saya cara termudah untuk melakukannya adalah:
rmdir /s /q "C:\FolderToNotToDelete\"
"\" Terakhir di jalur adalah bagian penting.
mkdir C:\FolderToNotToDelete
sudah cukup bagi saya :)
Iya! Gunakan Powershell:
powershell -Command "Remove-Item 'c:\destination\*' -Recurse -Force"
Untuk menghapus file:
del PATH_TO_FILE
Untuk menghapus folder dengan semua file di dalamnya:
rmdir /s /q PATH_TO_FOLDER
Untuk menghapus semua file dari folder tertentu (bukan menghapus folder itu sendiri) agak sedikit rumit. del /s *.*
tidak dapat menghapus folder, tetapi menghapus file dari semua subfolder. Jadi dibutuhkan dua perintah:
del /q PATH_TO_FOLDER\*.*
for /d %i in (PATH_TO_FOLDER\*.*) do @rmdir /s /q "%i"
Anda dapat membuat skrip untuk menghapus apa pun yang Anda inginkan (folder atau file) seperti ini mydel.bat
:
@echo off
setlocal enableextensions
if "%~1"=="" (
echo Usage: %0 path
exit /b 1
)
:: check whether it is folder or file
set ISDIR=0
set ATTR=%~a1
set DIRATTR=%ATTR:~0,1%
if /i "%DIRATTR%"=="d" set ISDIR=1
:: Delete folder or file
if %ISDIR%==1 (rmdir /s /q "%~1") else (del "%~1")
exit /b %ERRORLEVEL%
Beberapa contoh penggunaan:
mydel.bat "path\to\folder with spaces"
mydel.bat path\to\file_or_folder
Salah satu opsi satu baris yang mudah adalah membuat direktori kosong di suatu tempat di sistem file Anda, lalu gunakan ROBOCOPY
( http://technet.microsoft.com/en-us/library/cc733145.aspx ) dengan/MIR
sakelar untuk menghapus semua file dan subfolder. Secara default, robocopy tidak menyalin keamanan, jadi ACL di folder root Anda harus tetap utuh.
Mungkin juga ingin menyetel nilai untuk coba lagi /r
, karena jumlah default percobaan ulang adalah 1 juta.
robocopy "C:\DoNotDelete_UsedByScripts\EmptyFolder" "c:\temp\MyDirectoryToEmpty" /MIR /r:3
Saya memiliki folder indeks dengan 33 folder yang membutuhkan semua file dan subfolder dihapus di dalamnya. Saya membuka baris perintah di folder indeks dan kemudian menggunakan perintah ini:
for /d in (*) do rd /s /q "%a" & (
md "%a")
Saya pisahkan menjadi dua baris (tekan enter setelah baris pertama, dan ketika diminta lebih banyak tambahkan baris kedua) karena jika dimasukkan dalam satu baris ini mungkin tidak berfungsi. Perintah ini akan menghapus setiap direktori dan kemudian membuat yang baru yang kosong, sehingga menghapus semua file dan subflolder di direktori asli.
Arahkan ke direktori induk
Hapus sub folder
/superuser/173859/how-can-i-delete-all-files-subfolders-in-a-given-folder-via-the-command-prompt
pushd
Anda harus menggunakan popd
juga. Sayangnya, popd
tidak berfungsi saat Anda menghapus direktori. Jadi, Anda harus melakukan cd
bukan pushd
.
coba ini, ini akan mencari semua MyFolder di bawah root dir dan menghapus semua folder bernama MyFolder
for /d /r "C:\Users\test" %%a in (MyFolder\) do if exist "%%a" rmdir /s /q "%%a"
del .\*
Perintah ini menghapus semua file & folder dari navigasi saat ini di baris perintah Anda.