我最后改的,应该可以还原
- @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
复制代码
|