Board logo

标题: [文本处理] 【已解决】批处理如何判断当前文件夹里文件大小后并删除? [打印本页]

作者: duoduo200    时间: 2022-4-22 10:28     标题: 【已解决】批处理如何判断当前文件夹里文件大小后并删除?

本帖最后由 duoduo200 于 2022-4-22 19:05 编辑

各位大佬,请帮忙输出一个bat,多谢多谢

当前文件夹(在任意路径上,无法指定)下,判断里面的文件(多种类型文件格式,无法指定)的唯一最大体积的文件并删除。
作者: qixiaobin0715    时间: 2022-4-22 15:26

本帖最后由 qixiaobin0715 于 2022-4-22 16:14 编辑

回复 1# duoduo200
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. for /f "delims=" %%a in ('dir /s /b /a-d') do if %%~za gtr !n! (set n=%%~za&set filename=%%a)
  5. del "%filename%"
  6. del /s /q *.cue
  7. pause
复制代码

作者: duoduo200    时间: 2022-4-22 15:48

回复 2# qixiaobin0715


    好用好用,谢谢大佬,在您的代码上在多删除一个.cue后缀的文件,怎么加上。
作者: qixiaobin0715    时间: 2022-4-22 15:59

回复 3# duoduo200
是要删除所有.cue后缀的文件吗?
作者: duoduo200    时间: 2022-4-22 16:04

回复 4# qixiaobin0715


    是的哈。能否在上面的代码加上一个删除.cue的代码。
作者: qixiaobin0715    时间: 2022-4-22 16:11

回复 5# duoduo200
已修改
作者: duoduo200    时间: 2022-4-22 16:22

回复 6# qixiaobin0715


    感谢感谢,每次提问都是您给解答,非常感谢
作者: duoduo200    时间: 2022-4-22 20:01

本帖最后由 duoduo200 于 2022-4-22 20:04 编辑

回复 6# qixiaobin0715


   大佬,在实战中,有个小问题,不知道您忙不忙,请帮忙看看。
在用everthing搜索时候,我把所有要处理的文件搜索出来了,想在上面直接执行。之前的提取文件夹下的内容都可以穿透执行,不用点开文件所在的文件夹再运行bat,非常方便。
您给写的代码我已经加入右键,但无法穿透执行。能否像类似删除键一样可以直接穿透执行。(同样不需要指定路径,总是搬来搬去)
请您帮我看看,是否能遍历到文件所在的文件夹直接执行以下您写的代码。
不知道我是否阐述清楚,请见谅。谢谢您。
[img][/img]

@echo off
if not "%~1"=="" if not "%~1"=="REM" goto :handle
REM 管理员权限
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
REM 文件夹右键菜单名称,快捷键,图标
set "menu_name=最大文件删除"
set "menu_hotkey=Z"
set "menu_ico="F:\Picture\Data\WIN32.ico""
REM 没有则添加,有则删除
reg delete "HKCR\*\shell\%menu_name%" /f 2>nul && (
        echo 删除右键菜单 %menu_name% 成功
) || (
        reg add "HKCR\*\shell\%menu_name%" /ve /d "%menu_name%(&%menu_hotkey%)"
        reg add "HKCR\*\shell\%menu_name%" /v "icon" /d "%menu_ico%"
        reg add "HKCR\*\shell\%menu_name%\command" /ve /d "\"%~0\" \"%%1\"" /f
        echo 添加右键菜单 %menu_name% 成功
)
pause&exit
:handle
if not exist "%~1\" echo ( 文件夹路径无效 & pause&exit )
setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%a in ('dir /s /b /a-d') do if %%~za gtr !n! (set n=%%~za&set filename=%%a)
del "%filename%"
del /s /q *.cue
exit
作者: smss    时间: 2022-5-11 12:35

::文件和目录
  1. @Echo off&((reg delete "HKCR\*\shell\删除最大文件(&Z)" /f&reg delete "HKCR\Directory\shell\删除最大文件(&Z)" /f) >nul 2>nul&&echo 删除成功||((reg add "HKCR\*\shell\删除最大文件(&Z)" /v "icon" /d "imageres.dll,205"&reg add "HKCR\*\shell\删除最大文件(&Z)\command" /ve /t REG_SZ /d "cmd /c cd/d \"%%~pd1\"&del/s/q *.cue&for /f \"delims=\" %%%%i in ('dir /s/b/a-d/o-s')do del/s/q \"%%%%i\"&exit" /f&reg add "HKCR\Directory\shell\删除最大文件(&Z)" /v "icon" /d "imageres.dll,205"&reg add "HKCR\Directory\shell\删除最大文件(&Z)\command" /ve /t REG_SZ /d "cmd /c cd/d %%1&del/s/q *.cue&for /f \"delims=\" %%%%i in ('dir /s/b/a-d/o-s')do del/s/q \"%%%%i\"&exit" /f)>nul&echo 添加成功))&ping 0 -n "2">nul
复制代码

作者: duoduo200    时间: 2022-5-13 09:47

回复 9# smss


    感谢您的回复!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2