Last active
September 28, 2015 21:35
-
-
Save ty0x2333/7641e13881552849afc7 to your computer and use it in GitHub Desktop.
右键菜单-文件批量重命名 的 安装\卸载 脚本
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
echo ===================================================== | |
echo 批量重命名 | |
echo By luckytianyiyan@gmail.com | |
echo ===================================================== | |
echo 1. 正在检查权限... | |
Rem 创建文件路径 | |
set TempFile_Name=%SystemRoot%\System32\BatTestUACin_SysRt%Random%.batemp | |
Rem 写入文件 | |
( echo "BAT Test UAC in Temp" >%TempFile_Name% ) 1>nul 2>nul | |
Rem 判断写入是否成功 | |
if not exist %TempFile_Name% ( | |
echo 需要管理员身份运行 | |
echo 请右键"以管理员身份运行"重新运行该.bat文件 | |
Rem 删除临时文件 | |
del %TempFile_Name% 1>nul 2>nul | |
goto End | |
) | |
Rem 删除临时文件 | |
del %TempFile_Name% 1>nul 2>nul | |
echo 权限通过... | |
echo 2. 检查是否已安装... | |
REG QUERY "HKEY_CLASSES_ROOT\Directory\background\shell" /s|find "文件批量重命名" | |
IF ERRORLEVEL 1 goto Install | |
set /p order=请输入重装[re/r]或者卸载[un/u](默认重装): | |
if "%order%"=="un" goto Uninstall | |
if "%order%"=="u" goto Uninstall | |
:Install | |
echo 3. 正在安装... | |
set /p dirName=请输入安装目录(默认C:\TyyTools\BatchRename): | |
if "%dirName%"=="" set dirName=C:\TyyTools\BatchRename | |
if not exist %dirName% md %dirName% | |
set fName=%dirName%\BatchRename.bat | |
set /p defaultFileType=请输入脚本默认处理的文件后缀(可修改, 默认png): | |
if "%defaultFileType%"=="" set defaultFileType=png | |
echo 3.1 创建脚本%fName% | |
echo @echo off >%fName% | |
echo echo =====================================================>>%fName% | |
echo echo 批量重命名>>%fName% | |
echo echo By luckytianyiyan@gmail.com>>%fName% | |
echo echo =====================================================>>%fName% | |
echo echo 注意:该批处理是重命名当前目录的所有指定类型的文件>>%fName% | |
echo echo 使用前请确认当前文件顺序是正确的>>%fName% | |
echo echo ----------------------------------------------------->>%fName% | |
echo ::启用"延缓环境变量扩充" >>%fName% | |
echo setlocal EnableDelayedExpansion>>%fName% | |
echo ::获取前缀>>%fName% | |
echo for /f "delims=" %%%%i in ("%%cd%%") do set curFileName=%%%%~ni>>%fName% | |
echo set /p head=请输入文件前缀(默认当前文件夹名 %%curFileName%%):>>%fName% | |
echo if "%%head%%"=="" set head=%%curFileName%%>>%fName% | |
echo ::获取文件类型>>%fName% | |
echo set /p ftype=请输入文件类型(默认%defaultFileType%):>>%fName% | |
echo if "%%ftype%%"=="" set ftype="%defaultFileType%">>%fName% | |
echo set num="0">>%fName% | |
echo ::循环当前目录下所有图片的文件名,支持带空格的名称 >>%fName% | |
echo for /f "delims=" %%%%i in ('dir /b *.%%ftype%%') do ( >>%fName% | |
echo ::如果没有相同的文件名,则继续 >>%fName% | |
echo if not "%%%%~ni"=="%%~n0" ren "%%%%i" "!head!_!num!.%%ftype%%">>%fName% | |
echo ::设置数值型变量num=num+1 >>%fName% | |
echo set /a num+=1 >>%fName% | |
echo ) >>%fName% | |
echo echo 处理数量:%%num%% >>%fName% | |
echo echo 批量重命名成功! >>%fName% | |
echo pause>>%fName% | |
echo 脚本创建成功 | |
echo 3.2 协议写入注册表 | |
reg add "HKEY_CLASSES_ROOT\Directory\background\shell\文件批量重命名\command" /ve /t REG_SZ /d %fName% | |
echo 安装成功! | |
goto End | |
:Uninstall | |
echo 1. 正在卸载... | |
Setlocal enabledelayedexpansion | |
REM For /f "delims=" %%i in ('Reg Query "HKEY_CLASSES_ROOT\Directory\background\shell\文件批量重命名\command" /ve') do Set value=%%i | |
REM echo %value% | |
for /f "skip=2 delims=: tokens=1,*" %%i in ('Reg Query "HKEY_CLASSES_ROOT\Directory\background\shell\文件批量重命名\command" /ve') do ( | |
set str=%%i | |
set var=%%j | |
set "var=!var:"=!" | |
if not "!var:~-1!"=="=" set value="!str:~-1!:!var!" | |
) | |
for /f "delims=" %%a in ('"echo %value%"') do (set lj=%%~dpa) | |
rd /s /q %lj% | |
reg delete "HKEY_CLASSES_ROOT\Directory\background\shell\文件批量重命名" /f | |
echo 卸载成功! | |
:End | |
pause | |
exit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment