ai很多地方都是完全错误的,比如rem 判断文件名是否包含字符串 "fxh.com"
if "%%F"=="*fxh.com*" (
rem 删除文件名中的 "fxh.com" 字符串
ren "%%F" "!F:fxh.com=!"
试试这样能行吗
- @echo off
- rem 批处理保存为ansi编码格式
- cd /d "D:\ccshs\hsh" || exit
- setlocal
- for /f "delims=" %%i in ('dir /b /s ^|sort /r') do (
- set n=%%~nxi
- set f=%%i
- setlocal enabledelayedexpansion
- ren "!f!" "!n:fxh.com=!"
- endlocal
- )
- endlocal
-
- set /a k=50*1024*1024,m=0
- for /f "delims=" %%d in ('dir /b /ad') do (
- setlocal
- for %%a in ("%%d\*") do (
- if %%~za geq %k% (
- set /a m+=1
- set f=%%d
- set n=%%~nxa
- )
- )
- call :1
- endlocal
- )
- pause & exit
-
- :1
- if "%m%" neq "1" (
- exit /b
- )
- set _n=%n:~0,1%
- if %_n% leq Z (
- exit /b
- )
- setlocal enabledelayedexpansion
- for /l %%l in (0,1,260) do (
- set str=!n:~%%l,1!
- if !str! gtr Z (
- if not defined e (
- set /a q+=1
- ) else (
- set /a t=e+q
- goto :2
- )
- ) else (
- set /a e+=1
- )
- )
- :2
- for %%x in (q e t) do (
- if not defined %%x (
- exit /b
- )
- )
- ren "%f%\%n%" "!n:~%q%,%e%!!n:~0,%q%!!n:~%t%,260!"
- for /f "delims=" %%x in ("!n:~%q%,%e%!!n:~0,%q%!!n:~%t%,260!") do (
- ren "%f%" "%%~nx"
- )
- endlocal
- exit /b
复制代码
|