1. 批處理中如何刪除指定文件以外的文件
@echo off
setlocal enabledelayedexpansion
set fn1=4.txt
set fn2=6.txt
set fn3=10.txt
::設置要保留文件的文件名。自己修改一下文件名,並增減文件名數量。
::必需以這樣的格式:set fn數字=文件名。記得數字是依次遞增的(1,2,3,4,5,6...)。
:lp
set/a num+=1
if defined fn%num% goto lp
set/a num-=1
color a&echo 正在清理中...
set "curph=%cd%"
cd..
set "parph=%cd%"
call set "fdn=%%curph:%parph%=%%"
if "%fdn:~,1%"=="\" set "fdn=%fdn:~1%"
set "_f=%fdn%"
set fdv=_f
call :entrysub
:end
echo 清理完成!&pause
exit
:entrysub
call cd %%!fdv!%%
set/a m=0
for /f "delims=" %%i in ('dir /ad /b') do (
set /a m+=1
set "_!m!!fdv!=%%i"
)
if not "!fdv!"=="_f" (for /f "delims=" %%i in ('dir /a-d /b 2^>nul') do call :delfile "%%i") else (
for /f "delims=" %%i in ('dir /a-d /b 2^>nul') do if /i "%%i" neq "%~nx0" call :delfile "%%i")
if defined _1!fdv! (
set fdv=_1!fdv!
goto entrysub
) else call :returnparent
goto :eof
:returnparent
cd..
call rd "%%!fdv!%%" 2>nul
for /f "tokens=1* delims=_" %%a in ("!fdv!") do set/a pn=%%a+1&set fdv=_%%b
if "!fdv!"=="_" goto end
if defined _!pn!!fdv! (
set fdv=_!pn!!fdv!
call :entrysub
) else goto returnparent
goto :eof
:delfile
for /l %%i in (1,1,%num%) do if /i "!fn%%i!"==%1 goto undel
del %1 /f
:undel
goto :eof
說明:
保存為bat文件,放到「一個目錄中」。就可以刪除指定文件外的所有文件包括文件夾。
指定文件的設定,看bat代碼的第6,7行說明。
2. BAT問題:刪除當前目錄下的全部子文件夾及文件
打開ASC_Client文件夾,一個一個刪掉裡面的子目錄就行,保留文件夾
3. bat刪除文件夾命令
rd /s /q "您要刪除的文件夾路徑"
在cmd窗口中或寫入bat腳本中後,執行上面的命令即可刪除指定的文件夾,自己按格式設置路徑哦!
4. bat 刪除當前目錄下的多個文件夾和多個指定的文件
我的方法是
寫3條命令
@echo
off
del
/f
/s
/q
d:\abc\123\*.*
rd
/q
/s
d:\abc\123\
md
d:\abc\123
@pause
其中
@echo
off
和
@pause
無意義,可寫可不寫
del是刪除文件
rd是清空目錄
md是重新把你
123的文件夾創建出來
微軟的系統好像不能直接刪除帶內容的目錄,想要清除目錄必須先刪除文件
然後再清空目錄
步驟依舊是
先刪除文件夾下的文件
然後再清空目錄
方法同上
5. bat命求助,如何刪除文件夾和子文件夾中某個類型以外的所有文件。
不清楚你的實際文件/情況,僅以問題中的樣例/說明為據;以下代碼復制粘貼到記事本,另存為xx.bat,編碼選ANSI,跟要處理的文件放一起雙擊運行
<# :
cls&echo off&mode con lines=5000
rem 刪除當前目錄下除了指定類型/擴展名/後綴名以外的文件
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$files=@(dir -liter $path -recurse -force|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
if(@('.txt') -notcontains $files[$i].Extension){
write-host $files[$i].FullName;
remove-Item -liter $files[$i].FullName -force -ErrorAction SilentlyContinue;
}
}
6. 怎樣用批處理刪除多個文件夾
@echo
off&color
a&setlocal
enabledelayedexpansion
for
/f
"delims="
%%a
in
('type
del.txt')
do
(
for
/d
/r
%%b
in
(*)
do
(
(echo
%%~nxb|findstr
/i
"%%a
%%a.")&&(echo
%%b>>del.log
&
rd
/s
/q
"%%b")
)
)
pause
這個是根據,你的補充提問中的代碼修改的,呵呵,真是不枉此行呀,呵呵,多謝樓主……
7. 刪除某個文件夾裡面的所有文件的bat命令
刪除某個文件夾裡面的所有文件的bat命令。
下面以刪除G盤下面文件夾「0」的所有文件為例。
方法步驟如下:
1、打開相關文件夾,可發現文件夾中有相關文件。
8. 強行批量刪除多個文件夾(.bat)
沒有好辦法,我看了一哈.發現隨機出現的都是順序排列的名稱.因此.可以用個參數替代後四位就可以了.比如我試驗的時候是這個591912851162383341
cd\
c:
for
/l
%%a
in
(1,1,2000)
do
rd
59191285116238%%a..\
d:
for
/l
%%a
in
(1,1,2000)
do
rd
59191285116238%%a..\
....依此類推..
雖然有點土.不過能用就行..
9. bat怎麼刪除多個文件夾
@echooff
set/pdel=請輸入要刪除的文件夾名:
set/pdir=請輸入要刪除文件夾所在的完整目錄名:
for/f"delims="%%iin(dir/b/s/ad%dir%\%del)do(
rd%%i/s
)
pause
10. 編寫bat文件刪除文件夾
1、電腦上新建一個文件夾,新建一個「TXT」文件,並命名。