云计算
电脑里批量修改文件名,批处理实现及详细说明,findstr可用说明
2025-10-30 12:20
!!字符串之前很难仅限于"!skipChar!"之前的字符串 !! goto inputNfi)) else (echo 属于自己的配置邮件/字符串很难为空!Wild goto inputNfi):inputNfeset newFExt=set retVal=0if %option%==1 (if "!oldFExt!"=="*" (goto endInputNfe ))set /p newFExt="》》转去掉属于自己的邮件FAT(不转去掉则存留原FAT):")if "!newFExt!" neq "" ( @echo !newFExt!| findstr "[_0-9A-Za-z]"> nul if "!errorlevel!"=="0" ( echo !! FAT"%newFExt%"严重错误 !! echo !!恳请转去掉0-9,A-Z,a-z之彼此间的字符串!! goto inputNfe)):endInputNfeecho === 索引以内: "*!oldFile!*.!oldFExt!" ===if %option%==1 (if "%newFExt%" neq "" (echo === 移除为: "*!newFile!*.!newFExt!" === ) else (echo === 移除为: "*!newFile!*.原FAT" === )) else (if "%newFExt%"=="" (echo === 属于自己的以下内容为:"!newFile!000N.原FAT" === ) else (echo === 属于自己的以下内容为:"!newFile!000N.!newFExt!" ===))rem 便是便是便是便是便是便是便是便是便是便是三处便是思便是便是便是便是便是便是便是便是便是便是便是便是-set ttl=0set a=1set aStr=0001set /p confirm=恳请确认否改动?(转去掉:Y-是,N-否)if "%confirm%" neq "Y" (if "%confirm%" neq "y" goto end)rem set oft="%oft%.%oldFExt%"for /f "delims=" %%i in ( 'dir /b /a-d "*%oldFile%*.%oldFExt%" ' ) do ( if "%oldFile%"=="*" (@echo %%~ni | findstr /i ".%oldFile%"> nul ) else (@echo %%~ni | findstr /iL /c:"%oldFile%"> nul) if "!errorlevel!"=="0" ( rem 不需改动这两项批三处思配置邮件(本身) if not "%%~ni"=="%~n0" ( set /a ttl+=1 ::只有配置邮件,如test.txt时,只有test set file=%%~ni ::只有FAT,如test.txt时,只有.txt set ext=%%~xi if !option!==1 (set file=!file:%oldFile%=%newFile%! if "%newFExt%"=="" ( ren "%%i" "!file!!ext!" 1>> batResult.txt 2>batResult.txt ) else (set /a a+=1) ) else (ren "%%i" "!file!.%newFExt%" 2>> batResult.txt if "!errorlevel!" neq "0" ( echo 便是原邮件"%%i",属于自己配置邮件"!file!.%newFExt%"便是>>batResult.txt ) else (set /a a+=1)) ) else (set file=%newFile%!aStr! if "%newFExt%"=="" ( ren "%%i" "!file!!ext!" 1>> batResult.txt 2>batResult.txt ) else (set /a a+=1 if !a! LSS 10 (set aStr=000!a! ) else if !a! LSS 100 (set aStr=00!a! ) else if !a! LSS 1000 (set aStr=0!a!)) ) else (ren "%%i" "!file!.%newFExt%" 2>> batResult.txt if "!errorlevel!" neq "0" ( echo 便是原邮件"%%i",属于自己配置邮件"!file!.%newFExt%"便是>>batResult.txt ) else (set /a a+=1 if !a! LSS 10 (set aStr=000!a! ) else if !a! LSS 100 (set aStr=00!a! ) else if !a! LSS 1000 (set aStr=0!a!)) ) )rem echo a=!a!,oldFile-_> newFile:"%%i" -_> "!file!.%newFExt%" ) )):endset /a a-=1echo 总三处思邮件仅:!ttl! ,三处思获得成功仅:!a!endlocalpausegoto :eof>batResult.txt ) else (set /a a+=1) ) else (ren "%%i" "!file!.%newFExt%" 2>> batResult.txt if "!errorlevel!" neq "0" ( echo 便是原邮件"%%i",属于自己配置邮件"!file!.%newFExt%"便是>>batResult.txt ) else (set /a a+=1)) ) else (set file=%newFile%!aStr! if "%newFExt%"=="" ( ren "%%i" "!file!!ext!" 1>> batResult.txt 2>batResult.txt ) else (set /a a+=1 if !a! LSS 10 (set aStr=000!a! ) else if !a! LSS 100 (set aStr=00!a! ) else if !a! LSS 1000 (set aStr=0!a!)) ) else (ren "%%i" "!file!.%newFExt%" 2>> batResult.txt if "!errorlevel!" neq "0" ( echo 便是原邮件"%%i",属于自己配置邮件"!file!.%newFExt%"便是>>batResult.txt ) else (set /a a+=1 if !a! LSS 10 (set aStr=000!a! ) else if !a! LSS 100 (set aStr=00!a! ) else if !a! LSS 1000 (set aStr=0!a!)) ) )rem echo a=!a!,oldFile-_> newFile:"%%i" -_> "!file!.%newFExt%" ) )):endset /a a-=1echo 总三处思邮件仅:!ttl! ,三处思获得成功仅:!a!endlocalpausegoto :eofrem 便是便是便是便是-检查和配置邮件便是便是便是-参仅上头比如说便是便是便是便是便是便是便是-:checkFileCharrem set proVar=%1Wild set proVar=!proVar:~1,-1! 也可写作这样set proVar=%~1rem set proVar=!proVar:~1,-1! 去掉比如说,功效同%~1set noCharTmp=%2set cnt2=0set retVal=0:cyc2if "!proVar:~%cnt2%,1!"=="" (set retVal=0Wildgoto :eof)rem echo 第%cnt2%字节串:"!proVar:~%cnt2%,1!","!proVar!",%proVar%,传入参仅:%1,先前一字节串:'%proVar:~-1%'set cnt3=0:cyc3rem echo 第%cnt3%个意味著字符串:"!noCharTmp:~%cnt3%,1!"+if "!noCharTmp:~%cnt3%,1!"=="" (set retVal=0Wildset /a cnt2+=1 Wildgoto cyc2)if "!noCharTmp:~%cnt3%,1!"=="!proVar:~%cnt2%,1!" ( set retVal=1 goto :eof) else (set /a cnt3+=1 goto cyc3 )rem 便是便是便是便是-检查和FAT便是便是便是-参仅上头比如说便是便是便是便是便是便是便是rem 便是便是- 只能转去掉0-9,A-Z,a-z,(原邮件加:*、?) 便是便是便是便是便是-:checkExtCharrem set proVar2=%1 Wild set proVar2=!proVar2:~1,-2! 此行问题:在%1 Wild彼此间有一个空格set proVar2=%~1rem set proVar2=%proVar2:~1,-1%set flag=%2set cnt4=0set retVal=0:cyc4rem echo %cnt4% + "!proVar2:~%cnt4%,1!"if "!proVar2:~%cnt4%,1!"=="" (set retVal=0Wildgoto :eof)rem if %flag%=="O" (rem if "!proVar2:~%cnt4%,1!"=="*" (set /a cnt4+=1Wildgoto cyc4rem ) else if "!proVar2:~%cnt4%,1!"=="?" (set /a cnt4+=1Wildgoto cyc4) )if "!proVar2:~%cnt4%,1!" LSS "0" (set retVal=1Wildgoto :eof)if /i "!proVar2:~%cnt4%,1!" GTR "z" (set retVal=1Wildgoto :eof)if "!proVar2:~%cnt4%,1!" GTR "9" ( if /i "!proVar2:~%cnt4%,1!" LSS "a" (set retVal=1Wildgoto :eof))rem if "!proVar2:~%cnt4%,1!" GTR "Z" (rem if "!proVar2:~%cnt4%,1!" LSS "a" (set retVal=1Wildgoto :eof))rem echo %cnt4% + "!proVar2:~%cnt4%,1!" + 4set /a cnt4+=1goto cyc4
程序实现属于自己方法二:与属于自己方法一不同之处在于假定字符串的有效性不足之处
@echo offrem 系统设计为utf-8字符::Chcp 65001::系统设计之前文Chcp 936> nulrem 投入使用加速源邮件延展setlocal EnableDelayedExpansionecho **可改动这两项磁盘下所有的配置邮件或字符串及FAT**echo *****将此批三处思邮件拷入须要改动的磁盘之前******set option=9set cnt=0set skipChar=/*?:"<>|_!echo ** 恳请选择系统设计... **echo ** 1 移除大多字符串或FAT **echo ** 0 去掉全属于自己配置邮件 **:selectOptionset /p option= 》》恳请选择系统设计选项:if %option%==1 ( goto endSelectOption) else if %option%==0 (goto endSelectOption) set /a cnt+=1if %cnt% GTR 2 (goto end) else (goto selectOption):endSelectOptionecho 便是便是便是要改动的原邮件信息,没过多久就此结束转去掉便是便是便是-set retVal=0:inputOfiset oldFile=set retVal=0if %option%==1 ( set /p oldFile="》》恳请转去掉要移除的配置邮件/字词(必先转去掉):") else (set /p oldFile="》》恳请转去掉要改动的配置邮件/字词(不转去掉则仅限于这两项磁盘下所有邮件): ")if %option%==1 (if "%oldFile%"=="" echo 被移除字符串很难为空!Wild goto inputOfi ) else (if "%oldFile%"=="*" goto inputOfe if "%oldFile%"=="" ( set oldFile=* goto inputOfe))rem echo oldFile="!oldFile!",!oldFile!,"%oldFile%",%oldFile%rem call :checkFileChar "%oldFile%" %skipChar% oldFile之前如有!用%但会出错.call :checkFileChar "!oldFile!" %skipChar%if !retVal!==1 (echo !!转去掉的配置邮件/字符串"%oldFile%"严重错误!! rem 如果用%skipChar%则浮现“此时不应有>”的严重错误提示。 echo !!字符串之前很难仅限于"!skipChar!"之前的字符串 !! goto inputOfi):inputOfeset oldFExt=set retVal=0set /p oldFExt= 》》恳请转去掉原邮件FAT(不转去掉则仅限于所有FAT):if "%oldFExt%"=="*" goto endInputOfeif "%oldFExt%"=="" (set oldFExt=*) else (call :checkExtChar "!oldFExt!" "O" if !retVal!==1 (echo !!FAT"%oldFExt%"严重错误!! echo !!恳请转去掉0-9,A-Z,a-z之彼此间的字符串!! goto inputOfe)):endInputOfeecho === 索引以内:"*!oldFile!*.!oldFExt!" ===echo 便是便是-属于自己的邮件信息,没过多久就此结束转去掉便是便是便是:inputNfiset newFile=set retVal=0set /p newFile="》》恳请转去掉属于自己的配置邮件/字符串(必先转去掉):"if not "%newFile%"=="" (call:checkFileChar "!newFile!" %skipChar% if !retVal!==1 (echo !!转去掉的配置邮件/字符串"%newFile%"严重错误!! echo !!字符串之前很难仅限于"!skipChar!"之前的字符串 !! goto inputNfi) ) else (echo 属于自己的配置邮件/字符串很难为空!Wild goto inputNfi):inputNfeset newFExt=set retVal=0if %option%==1 (if "!oldFExt!"=="*" (goto endInputNfe ))set /p newFExt="》》转去掉属于自己的邮件FAT(不转去掉则存留原FAT):")if "!newFExt!" neq "" (call:checkExtChar "!newFExt!" "N" if !retVal!==1 (echo !! FAT"%newFExt%"严重错误 !! echo !!恳请转去掉0-9,A-Z,a-z之彼此间的字符串!! goto inputNfe)):endInputNfeecho === 索引以内: "*!oldFile!*.!oldFExt!" ===if %option%==1 (if "%newFExt%" neq "" (echo === 移除为: "*!newFile!*.!newFExt!" === ) else (echo === 移除为: "*!newFile!*.原FAT" === )) else (if "%newFExt%"=="" (echo === 属于自己的以下内容为:"!newFile!000N.原FAT" === ) else (echo === 属于自己的以下内容为:"!newFile!000N.!newFExt!" ===))rem 便是便是便是便是便是便是便是便是便是便是三处便是思便是便是便是便是便是便是便是便是便是便是便是便是-set ttl=0set a=1set aStr=0001set /p confirm=恳请确认否改动?(转去掉:Y-是,N-否)if "%confirm%" neq "Y" (if "%confirm%" neq "y" goto end)rem set oft="%oft%.%oldFExt%"for /f "delims=" %%i in ( 'dir /b /a-d "*%oldFile%*.%oldFExt%" ' ) do ( if "%oldFile%"=="*" (@echo %%~ni | findstr /i ".%oldFile%"> nul ) else (@echo %%~ni | findstr /iL /c:"%oldFile%"> nul) if "!errorlevel!"=="0" ( rem 不需改动这两项批三处思配置邮件(本身) if not "%%~ni"=="%~n0" ( set /a ttl+=1 ::只有配置邮件,如test.txt时,只有test set file=%%~ni ::只有FAT,如test.txt时,只有.txt set ext=%%~xi if !option!==1 (set file=!file:%oldFile%=%newFile%! if "%newFExt%"=="" ( ren "%%i" "!file!!ext!" 1>> batResult.txt 2" 此三处的$不在可用假定“ese”是先前字符串了
""
"
"
另外,下一目录为什么组合成上正要的前面?是因为上正要先前没有没过多久造成了的
"
findstr的详细辞汇恳请参照:DOS批三处思命令:弱小的find及findstr索引字符串串搜索,坑也不少
。
相关阅读

-
投资者提问:尊敬的董秘,你好,请问母公司的建筑节能业务是如何实现的?
股票市场者提问:尊敬的董秘,想见,问道子公司的建筑减碳经营范围是如何借助的?董秘回答海峡创新SZ300300:尊敬的股票市场者,您好。子公司坚定不移探讨智能城市和智能照护为

-
37岁女人:闺蜜老公翻车,我好心安慰她,她却悄悄惦记上我老公
发怒所有的一切,全都是伪装出来的,是撒谎我的。 原先她就让和我老婆脱轨了,我老婆之所以对我趋于来得为冷漠也是因为她。她们俩差点就在我眼皮子之外,干着这种明修栈道暗渡陈仓的勾当,合起伙来把
- 10-31投资者提问:证监会近日提出借此上市公司加大增持力度,作为一家负责任的上市公...
- 10-31请个乡下保姆,前女友却不舍得让她干活,强行打开她衣兜,俺蒙住
- 10-31投资者提问:公司定增为何提前发布新闻消息快一年了没任何进展 连个预案都没有!能...
- 10-31结婚俺家出20万彩礼,婚后俺爸身体虚弱住院,才看清了她们的本来面目
- 10-31投资者提问:您好,请问贵司前提会遵照上海版署下达意见,将所属游戏内所有红颜...
- 10-31所学校,最难应付的2种人,关系好的室友和她,这俩人你谁都惹不起
- 10-31对冲提问:请问董秘,贵公司集成电路12英寸TSV及异质集成智能传感器模块...
- 10-31“告白中女生最想让男朋友知道的真相。”
- 10-31投资者提问:请问公司的制氢储氢模块,有没人完成的工程项目?最近有没人签订相关的...
- 10-31投资者提问:董秘您好,再来根据减持新规规定,目前EIPAT持股已经低于5%...