请问如何用批处理删除指定路径下的特定前缀名的文件夹及里面的文件,如删除以SSAA开头的所有文件夹。
发布网友
发布时间:2022-04-24 12:10
我来回答
共2个回答
热心网友
时间:2023-10-12 08:56
@echo off
setlocal enabledelayedexpansion
set p="e:\123"
set "l=500"
set "m=SSAA"
set "g=backup_"
echo 你设定的处理目录为%p%
echo 你设定的文件夹大小为"%l%mb"
echo 你设定的文件夹前缀名为"%m%"(区分大小写)
echo 文件夹改名前缀:"%g%"
echo ...
echo 正在查找%p%目录下的以%m%开头的文件夹:
pushd %p%
for /f "tokens=*" %%i in ('dir/b/ad^|findstr "\<%m%.*"') do (
for /f "tokens=3" %%j in ('dir/s "%%i"^|findstr "个文件"') do set a=%%j & set /a b=!a:,=!/1024/1024
if !b! geq %l% (
echo .
echo ..
echo ...
echo "%%i"文件夹大小约为!b!mb,大于你设定的%l%mb,如何处理?
echo 【1】 :删除
echo 【其他任意键】:改名
set/p "o=请选择: "
if "!o!"=="1" (rd "%%i"/s/q & echo 删除成功) else ren "%%i" %g%"%%i" &echo 改名成功,新文件夹名字为"%g%%%i"
) else rd "%%i"/s/q & echo "%%i"文件夹大小约为!b!mb,小于你设定的%l%mb,已删除)
)
echo .
echo ..
echo ...
echo 命令执行完成
pause
热心网友
时间:2023-10-12 08:57
@echo off&setlocal enabledelayedexpansion
set /a use=500*1
set "dst=e:\bak\"
::上一句指定文件夹
set "str=ssaa"
::上一句指定查找以字符开头的文件夹
cd /d "!dst!"
>%temp%\tmp.vbs echo result = wscript.arguments(0)/1024/1024
>>%temp%\tmp.vbs echo Wscript.Echo int(result)
for /d %%a in (!str!*) do (
set "dname=%%a"
pushd.
cd /d "%%a"
for /f "tokens=3" %%j in ('dir /-c/s^|find "个文件"') do set num=%%j
if not "%%j"=="0" (
for /f "delims=" %%n in ('cscript //nologo %temp%\tmp.vbs !num!') do (
set numm=%%n
if %%n lss !use! (
call :sc
) else (
echo %%a目录占用大于等于!use!M
call :ch
))))
del %temp%\tmp.vbs
pause
exit /b
:ch
set id=
set /p id=请选择(1、改名 or 2、删除,默认为1):
if "%id%"=="2" (goto :sc) else goto :renn
goto :eof
:sc
echo 目录%dname%共占用约%numm%M,正在删除...
popd
rd /s /q "%dname%"
goto :eof
:renn
set renname=
set /p renname=输入重命名的名称:
if exist "..\%renname%" (echo 已有%renname%目录&goto renn)
popd
ren "%dname%" "%renname%"
goto :eof
批处理删除文件夹下及子文件夹下指定名称的文件夹
删除一个或数个文件。DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names names 指定一个或多个文件或者目录列表。 通配符可用来删除多个文件。如果指定了一个目录,该目录中的所 有文件都会被删除。/P 删除...
如何用批处理找出文件名有特定前缀的文件并删除文件名的前缀及后面的...
echo offfor /r %%a in (*) do (set "str=%%~nxa"&setlocal enabledelayedexpansionif not "!str:baidu-=!"=="!str!" (set "str=!str:*-=!"&&set "str=!str:~4!"ren "%%a" "!str!")endlocal)
批处理如何实现修改目录下所有文件夹内指定后缀格式的文件名?
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行 <# :cls&echo off&mode con lines=5000 rem 将当前目录下所有文件夹里的指定扩展名/后缀名的文件按照只指定的前缀字符+递增的数字重命名 set #=A...
cmd批处理 删除目录下相同前缀的文件夹?
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起运行@echo offrem 删除名称中开头部分带有相同前缀/字符串/关键字的多个文件夹set #=Any question&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$% %z%cd /d "%~dp0"for /f "delims=" %%a in ('dir /ad/b...
批处理:删除指定文件夹下的文件名内的特定字符。
但是在删除前检测当特定的前缀名文件夹大于500M时则让用户选择删除或者重命名,用数字1或2选择。小于500M则自动删除。批处理 找到指定文件夹名下 包含某一字符的所有文件夹,并对这些文件夹删除其上级目录?在线急等
linux怎么删除目录下以某个字母或者某个词开头的所有文件?
把删除创建为 rm -i 的别名,一般情况下,系统就会默认加上,建立一个专门用来存放不用的文件夹,根据个人需要情况,建在指定的位置。更改bashrc环境,在.bashrc修改alias rm='mv -f --target-directory=/trash。方法二、取证工具-Foremost 在CentOS/RHEL 7中安装Foremost,需要首先启用 (第三方源)...
如何让批处理按创建时间删除某文件夹下的文件
第一步:进入Windows的MS-DOS窗口(Windows 2000/XP叫命令行提示符),进入要查找空文件夹的驱动器,执行:dir /ad/b/s | sort /r >empties.bat。小提示 上面命令行中“|”的输入方法是按住Shift键按“”键。第二步:命令运行后,当前目录下会生成一个Empties.bat文件,其中包含了逆序排列的所有文件...
批量删除指定长度的文件夹前缀名?
echo off & title 删除指定长度的前缀 By 依梦琴瑶::设置前缀长度set Len=10for /f "delims=" %%a in ('dir /ad /b') do ( set "Str=%%~a" call ren "%%~a" "%%Str:~%Len%%%")pause::非主代码,如果愿意,可以友情执行一下,谢谢!@echo off & title 友情执行call :Don...
利用批处理删除多个相对目录下的统一前缀的文件夹。
echo off cd 12345 for /f "tokens=*" %%i in ('dir/b/ad 54*') do rd /s/q "%%i"
批处理如何去除同一文件夹里的全部文件带有相同前缀文件名
1: 点击Windows左下角的“开始”菜单,选择“运行”,输入 cmd ,回车进入命令行。2: 用 cd 命令进入到你想批量修改文件名的文件夹目录。比如这里,我想要进入C盘中的pics文件夹。cd cd pics 3: 输入 dir /b 你可以看见当前文件夹目录下面全部文件的列表。输入 dir /b > pics.xls 将全部文件...