无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3085|回复: 19
打印 上一主题 下一主题

[求助] 批处理set字符串替换支持通配符吗?

[复制链接]
1#
发表于 2022-10-22 17:08:26 | 显示全部楼层
对于经常把用户手机或者电脑硬盘当垃圾回收站使的微信操作系统来说,几十G、几百G的数据建议还是使用微信自带清理或者第三方微信清理工具更靠谱,重复文件查找文件都不见得管多大用。


以下代码只是举例,楼主需要自己完善,我清理的方法是删除整个微信数据文件夹

  1. @echo off
  2. pushd %~dp0

  3. ::文件名中只有一个()的情况
  4. for /f "tokens=1* delims=(" %%a in ('dir "*(*).*" /s /b ^| findstr [0-9]') do echo;%%a%%~xb
  5. pause
复制代码

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. mode con cols=150 lines=52
  4. pushd %~dp0

  5. ::考虑到文件名中会存在多个()的情况,局限:仅支持同目录下的重复文件
  6. for /f "delims=" %%a in ('dir "*(*).*" /s /b ^| findstr [0-9]') do (
  7.     set "var=%%~na"
  8.     rem 用7z.exe计算文件名含有([0-9])的文件的sha256值
  9.     for /f "skip=8" %%b in ('7z.exe h -scrcsha256 "%%a"') do if not defined sha256a set "sha256a=%%b"
  10.     rem 在不含文件后缀的文件名中反向查找(,最多查找(9999),得到去掉文件名末尾([0-9])和一个空格的文件路径
  11.     for /l %%b in (-1 -1 -6) do if not defined filename if "!var:~%%b,1!"=="(" set "filename=!var:~0,%%b!"
  12.     if "!filename:~-1!"==" " set "filename=!filename:~0,-1!"
  13.     set "filepath=%%~dpa!filename!%%~xa"
  14.     if exist "!filepath!" (
  15.         rem 用7z.exe计算文件名末尾去掉([0-9])的文件的sha256值
  16.         for /f "skip=8" %%b in ('7z.exe h -scrcsha256 "!filepath!"') do if not defined sha256b set "sha256b=%%b"
  17.         if "!sha256a!"=="!sha256b!" echo del /f /q "%%a"
  18.     )
  19. )
  20. echo;
  21. echo;
  22. pause
复制代码


  1. @echo off
  2. setlocal enabledelayedexpansion
  3. mode con cols=150 lines=52
  4. pushd %~dp0

  5. echo;重复文件查找中...
  6. echo;
  7. echo;
  8. echo;重复的文件列表>"%temp%\重复的文件列表.log"
  9. for /f "skip=8 tokens=1,2*" %%a in ('7z.exe h -scrcsha256') do (
  10.     if exist "%~dp0%%c" (
  11.         if not defined %%a (
  12.             set %%a=%%c
  13.         ) else (
  14.             (set %%a
  15.             echo;%%a    %%c)>>"%temp%\重复的文件列表.log"
  16.             echo;删除重复文件: %%c
  17.         )
  18.     )
  19. )
  20. start "" notepad.exe "%temp%\重复的文件列表.log"
  21. color 2f
  22. pause
复制代码


点评

你这个考虑了文件检验,比我的好  详情 回复 发表于 2022-10-23 07:42
回复

使用道具 举报

2#
发表于 2022-10-22 17:10:13 | 显示全部楼层
需要7z.exe支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-16 15:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表