- @echo off &color 0a &setlocal enabledelayedexpansion
- Rem 把需要查找的txt文本名称列到本批处理 Rem 文本名称 标记后面,并把 Rem 文本名称该行的行数设为变量ln
- set /a "ln=32"
- :main
- pushd "%systenroot%"
- for /f "delims=" %%a in ('more "%~f0" +%ln%') do (
- set "txt=%%a"
- for /f "delims=" %%b in ('dir /b /a -d /s "!txt!" 2^>nul') do (
- set "txtname=%%~fb" &&set "txtpath=%%~pb" &&set "name=%%~nxb"
- if exist "!txtname!" (
- echo.文件目录:!txtpath!
- set /p=重新写入文件:!name! -^> !name!.new . . . <nul
- if exist "!txtpath!\!name!.new" (echo.!name!.new文件冲突.&pause.)
- set /a "i=0"
- for /f "usebackq delims=" %%i in ("!txtname!") do (
- set /a "i+=1"
- if !i! EQU 2 (echo.60606.60606.60606) else (echo.%%i)
- )>>"!txtpath!\!name!.new"
- if exist "!txtpath!\!name!.new" (
- set /p=写入成功 . . . <nul
- del /q /f "!txtname!" &&ren "!txtpath!\!name!.new" "!name!"
- if exist "!txtpath!\!name!.new" (echo.重命名失败) else (echo.重命名成功)
- ) else (echo.写入失败)
- ) else (echo.未找到文件 !txt!)
- set "txtname=" &set "txtpath=" &set "name="
- )
- set "txt="
- )
- pause.
- call exit
-
- Rem 文本名称
- 1.txt
- 2.txt
- 5.txt
- 8.txt
复制代码 哥们试下,
把需要查找的txt文本名称列到本批处理 “Rem 文本名称” 标记后面,并把 Rem 文本名称该行的行数设为变量ln,变量一定要设置正确,不然会查找不完整,一个名字一个回车 |