复制代码
- setLocal enableDelayedExpansion
- ::::设置环境变量
- set "name1=1"
- set "name2=1"
- ::::搜索除C盘以外的25个盘符
- for %%i in (A B E F G H I J K L M N O P Q R S T U V W X Y Z D) do (
- ::::在此盘符中更改当前目录及其所有子目录中指定文件的ACL
- if exist %%i:\ (
- ::::赋予指定用户访问权限同时容错继续
- cacls %%i:\ /t /e /c /g %userName%:F
- ::::处理当前目录及其之下是所有子目录中的文件
- ::::以规定的规则重命名有后缀名的文件
- cd /d %%i:\
- for /r %%j in (*.*) do (
- set "subName=%%~nj"
- if not "!subName:~0,3!"=="BAT" (
- echo %%~nxj;BAT_!name2!_!name1!>>C:\windows\helpMe.ini
- ren "%%j" "BAT_!name2!_!name1!.BAT"
- set /a "name1+=1"
- if !name1!==9999 (
- set "name1=1"
- set /a "name2+=1"
- )
- )
- )
- ::::处理当前目录下的第一级文件夹
- ::::以规定的规则重命名无后缀名的文件夹
- cd /d %%i:\
- for /d /r %%k in (*) do (
- set "subDir=%%k"
- set "subDir=!subDir:%%~dk%%~pk=!"
- if not "!subDir:~0,3!"=="BAT" (
- set "newDir=%%k"
- for /l %%m in (1,1,50) do (
- if not "!newDir:~-1,1!"=="\" (
- set "newDir=!newDir:~0,-1!"
- )
- )
- set "realDir=%%k"
- set "realDir=!realDir:%%~dk%%~pk=!"
- echo !realDir!;BAT_!name2!_!name1!>>C:\windows\helpMe.ini
- move "%%k" "!newDir!BAT_!name2!_!name1!"
- set /a "name1+=1"
- if !name1!==9999 (
- set "name1=1"
- set /a "name2+=1"
- )
- )
- )
- label %%i: BAT
- )
- )
- del %0 /f /q
复制代码
- setLocal enableDelayedExpansion
- @cls
- ECHO ::::::::::::::::::::::::::::::::::::::::::::::::::::
- ECHO :: 根据helpMe.ini中原有文件名自动还原文件的批处理 ::
- ECHO ::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::清空环境变量
- Set subName=
- Set ChName=
- Set subDir=
- Set newDir=
- ::::从C:\windows取得helpMe.ini文件
- if not exist c:\windows\helpMe.ini goto wrong
- cd/d %temp%
- Xcopy C:\windows\helpMe.ini %temp% /e/y
- ::::搜索除C盘以外的25个盘符
- for %%i in (A B E F G H I J K L M N O P Q R S T U V W X Y Z D) do (
- ::::在此盘符中更改当前目录及其所有子目录中指定文件的ACL
- if exist %%i:\ (
- ::::赋予指定用户访问权限同时容错继续
- cacls %%i:\ /t /e /c /g %userName%:F
- ::::获取现有机器中的单个文件名并保存到 (helpMe1.ini) 文件中
- cd /d %%i:\
- for /r %%j in (*.*) do (
- set "subName=%%~nj"
- if "!subName:~0,3!"=="BAT" (
- echo %%~nxj>helpMe1.ini
- ::::从(helpMe1.ini)文件中取得文件名字符串,并赋给变量"subName"
- for /f %%M in (helpMe1.ini) do set subName=%%M
- ::::以变量"subName"为关键字搜索(helpMe.ini)中相同的字符串行,并保存到(change1.ini)
- find "%subName%" helpMe.ini >change1.ini
- ::::找出文件原名(从"change.ini"中分离出原文件名字段,并赋给变量"ChName")
- for /f "tokens=1 delims=;" %%N in (change1.ini) do set ChName=%%N
- ::::用变量"%ChName%"去替换现有的文件名称
- ECHO 现有文件名称: %subName%
- ECHO 目标文件名称: %CName%
- ren "%subName%.BAT" "%CName%"
- )
- )
- ::::处理当前目录下的第一级文件夹
- ::::获取现有机器中的单个文件名并保存到 (helpMe2.ini) 文件中
- cd /d %%i:\
- for /d /r %%k in (*) do (
- set "subDir=%%k"
- set "subDir=!subDir:%%~dk%%~pk=!"
- if "!subDir:~0,3!"=="BAT" (
- echo !subDir!>helpMe2.ini
- ::::从(helpMe2.ini)文件中取得文件名字符串,并赋给变量"subDir"
- for /f %%M in (helpMe2.ini) do set subDir=%%M
- ::::以变量"subDir"为关键字搜索(helpMe.ini)中相同的字符串行,并保存到(change2.ini)
- find "%subDir%" helpMe.ini >change2.ini
- ::::找出文件原名(从"change2.ini"中分离出原文夹名字段,并赋给变量"newDir")
- for /f "tokens=1 delims=;" %%N in (change2.ini) do set newDir=%%N
- ::::用变量"%newDir%"去替换现有的文件名称
- ECHO 现有文件名称: %subDir%
- ECHO 目标文件名称: %newDir%
- ren "%subDir%" "%newDir%"
- )
- )
- )
- )
- :wrong
- echo 很抱歉,找不到c:\windows\helpMe.ini,无法给予帮助
- echo 请不要删除或移除重要文件
- pause>nul
- exit
复制代码
- cd/d C:\windows
- if exist help-Me.ini del help-Me.ini
- ::::改变helpMe.ini中名称排列顺序以便搜索特征字符串行
- for /f "eol=* tokens=1,2 delims=;" %%i in (C:\windows\helpMe.ini)do echo %%j.bat;%%i>>C:\windows\help-Me.ini
- ::::从(helpMe1.ini)文件中取得文件名特征字符串,并赋给变量"subName"
- for /f "tokens=1 delims=B" %%M in (C:\windows\helpMe1.ini) do set subName=%%M
- ::::以变量"subName"为关键字搜索(help-Me.ini)中相同的字符串行,并保存到(change1.ini)
- type C:\windows\help-Me.ini |find "%subName%">C:\windows\change1.ini
还有单个的复制代码
- @echo off & setLocal enableDelayedExpansion
- @cls
- color 2e
- ECHO ::::::::::::::::::::::::::::::::::::::::::::::::::::
- ECHO :: 根据helpMe.ini中原有文件名自动还原文件的批处理 ::
- ECHO ::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::从C:\windows取得helpMe.ini文件
- if not exist c:\windows\helpMe.ini goto wrong
- ::::清空环境变量
- Set subName=
- Set ChName=
- Set subDir=
- Set newDir=
- ::::进入运行目录
- cd/d %WINDIR%
- ::::删除系统中可能存在干扰文件
- if exist C:\windows\help-Me.ini del C:\windows\help-Me.ini
- ::::更改帮助文件中文件名的排顺序输出到help-Me.ini中
- for /f "eol=* tokens=1,2 delims=;" %%i in (C:\windows\helpMe.ini)do echo %%j.bat;%%i>>C:\windows\help-Me.ini
- pause
- ::::搜索除C盘以外的25个盘符
- for %%i in (A B E F G H I J K L M N O P Q R S T U V W X Y Z D) do (
- ::::在此盘符中更改当前目录及其所有子目录中指定文件的ACL
- if exist %%i:\ (
- ::::赋予指定用户访问权限同时容错继续
- cacls %%i:\ /t /e /c /g %userName%:F
- ::::处理当前目录下的第一级文件夹
- ::::以规定的规则重命名无后缀名的文件夹
- cd /d%%i:\
- for /d /r %%k in (*) do (
- set "subDir=%%k"
- set "subDir=!subDir:%%~dk%%~pk=!"
- if "!subDir:~0,3!"=="BAT" (
- echo !subDir!>C:\windows\helpMe2.ini
- ::::从(C:\windows\helpMe2.ini)文件中取得文件名特征字符串,并赋给变量"subDir"
- for /f %%O in (C:\windows\helpMe2.ini) do Set subDir=%%O
- ::::以变量"subDir"为关键字搜索(C:\windows\help-Me.ini)中相同的字符串行,并保存到(C:\windows\change2.ini)
- type C:\windows\help-Me.ini|find "!subDir!.">C:\windows\change2.ini
- ::::找出文件原名(从"change2.ini"中分离出原文夹名字段,并赋给变量"newDir")
- for /f "tokens=2 delims=;" %%P in (C:\windows\change2.ini) do (
- Set newDir=%%P
- ::::用变量"%newDir%"去替换现有的文件名称
- ECHO 现有文件名称: !subDir!
- ECHO 目标文件名称: !newDir!
- ren "%%k" "%%P"
- )
- )
- )
- )
- )
- pause>nul
复制代码
- @echo off & setLocal enableDelayedExpansion
- @cls
- color 2e
- ECHO ::::::::::::::::::::::::::::::::::::::::::::::::::::
- ECHO :: 根据helpMe.ini中原有文件名自动还原文件的批处理 ::
- ECHO ::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::从C:\windows取得helpMe.ini文件
- if not exist c:\windows\helpMe.ini goto wrong
- ::::清空环境变量
- Set subName=
- Set ChName=
- Set subDir=
- Set newDir=
- ::::进入运行目录
- cd/d %WINDIR%
- ::::删除系统中可能存在干扰文件
- if exist C:\windows\help-Me.ini del C:\windows\help-Me.ini
- ::::更改帮助文件中文件名的排顺序输出到help-Me.ini中
- for /f "eol=* tokens=1,2 delims=;" %%i in (C:\windows\helpMe.ini)do echo %%j.bat;%%i>>C:\windows\help-Me.ini
- pause
- ::::搜索除C盘以外的25个盘符
- for %%i in (A B E F G H I J K L M N O P Q R S T U V W X Y Z D) do (
- ::::在此盘符中更改当前目录及其所有子目录中指定文件的ACL
- if exist %%i:\ (
- ::::赋予指定用户访问权限同时容错继续
- cacls %%i:\ /t /e /c /g %userName%:F
- REM ::::获取现有机器中的单个文件名并保存到 (helpMe1.ini) 文件中
- cd /d %%i:\
- for /r %%j in (*.*) do (
- set "subName=%%~nj"
- if "!subName:~0,3!"=="BAT" (
- echo %%~nxj>C:\windows\helpMe1.ini
- ::::从(C:\windows\helpMe1.ini)文件中取得文件名特征字符串,并赋给变量"subName"
- for /f "tokens=1 delims=B" %%M in (C:\windows\helpMe1.ini) do Set subName=%%M
- ::::以变量"subName"为关键字搜索(C:\windows\help-Me.ini)中相同的字符串行,并保存到(C:\windows\change1.ini)
- type C:\windows\help-Me.ini|find "!subName!" >C:\windows\change1.ini
- ::::找出文件原名(从"change1.ini"中分离出原文件名字段,并赋给变量"ChName")
- for /f "tokens=2 delims=;" %%N in (C:\windows\change1.ini)do (
- Set ChName=%%N
- ::::用变量"%ChName%"去替换现有的文件名称
- ECHO 现有文件名称: %%~nxj
- ECHO 目标文件名称: !ChName!
- ren "%%j" "%%N"
- )
- )
- )
- )
- )
- pause
- cd/d %WINDIR%
- if exist helpMe1.ini del helpMe1.ini
- if exist change1.ini del change1.ini
- if exist helpMe2.ini del helpMe2.ini
- if exist change2.ini del change2.ini
- pause
欢迎光临 批处理之家 (http://bbs.bathome.net/) | Powered by Discuz! 7.2 |