复制代码
- @echo off
- Rem mode con cols=68 lines=24
- Color a
- Cls
- echo =================说明区========================
- Echo.
- Echo [批处理怎样右键改当前文件名前缀]
- Echo 学习-BAT-BAT代码-批处理实现-批处理怎样右键改当前文件名前缀
- Echo.
- Echo 本插件Bat实现以下功能:
- Echo 在文件名上右键可弹出菜单,
- Echo 菜单上有1、2、3、。。。。17个项目
- Echo 选1时,就在原文件名前加前缀0.[S_]
- Echo 选2时,就在原文件名前加前缀1.[S_系统_]
- Echo 选3时,就在原文件名前加前缀2.[S_软件_]
- Echo 选3时,就在原文件名前加前缀3.[S_记录_]
- Echo.
- Echo 本代码运用于Windows7以上系统.....
- Echo.
- echo =======================================S34205==
- Echo.
- Ping -n 2 127.1>nul
- Rem Pause
- echo =================代码区========================
- :Do_My
- :Go_DO
- Set "Temp_folder_Do=%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo"
- if exist "%Temp_folder_Do%\*.*" (Echo 系统正确:是Windows7以上版本... ) else (Echo. &Echo. &Echo 系统错误:非Windows7以上版本... &Echo. &Ping -n 10 127.1>nul &Goto Out)
- Echo 设置开始:
- rem 设置“发送到”的一级菜单
- set "TopMenu=加前缀_"
- Echo 一级菜单:%TopMenu%
- rem 设置前缀
- set "list_before=S_ S_系统_ S_软件_ S_记录_ S_图片_ S_学习_"
- rem 设置后缀
- set "list_after=x_绿色 x_作品"
- Echo 设置菜单:%list%
- set "Temp_folder=%Temp_folder_Do%"
- Echo 设置文件:%Temp_folder%
- if exist "%Temp_folder%\*.bat" (Echo 文件存在:... &Del /s /q "%Temp_folder%\*.bat">nul) else (Echo 文件不在:...)
- Cd %Temp_folder%
- Echo 工作路径:%Temp_folder%
- :Go_Do_As
- Echo.
- setlocal enabledelayedexpansion
- set n=0
- for %%a in (%list_before%) do (
- >"%Temp_folder%\%%a.bat" echo ren %%1 "%%~n0%%~nx1"
- set /a n += 1
- Echo 设置前缀:第!n!右键菜单【%%a】....
- )
- for %%k in (%list_after%) do (
- >"%Temp_folder%\%%k.bat" echo ren %%1 "%%~n1%%~n0%%~x1"
- Rem 【百分号】转义,%~n1是拖入文件名,%~n0是批处理名,%~x1是拖入文件扩展名
- set /a n += 1
- Echo 设置后缀:第!n!右键菜单【%%a】....
- )
- Goto Un_Do_Set
- Goto Out
- :Out
- Echo.
- Set T=3
- Echo 设置完成:%T%...
- Ping -n %T% 127.1>nul
- Exit
- :Un_Do_Set
- Cd %Temp_folder_Do%
- :Go_Do_As_Open
- Rem ==========以下一句是添加快速打开Windows\SendTo文件夹以修改编写测试的,可以去掉
- Rem Echo Start "" "%%userprofile%%\AppData\Roaming\Microsoft\Windows\SendTo" >"%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo\打开目录_发送到.bat"
- Rem ==========以上一句是添加快速打开Windows\SendTo文件夹以修改编写测试的,可以去掉
- Goto Out
- Echo.
- Echo 设置删除:...
- Ping -n 5 127.1>nul
- for /f "delims=" %%i in ('dir /a-d/s/b %Temp_folder_Do%\*.bat') do (
- Echo 设置删除:%%i
- del /f /s /q %%i >nul
- Rem 这里的【>nul 】表示命令运行正常不显示相关信息,而 2>nul表示不管命令是否正常运行都不显示任何信息
- )
- Goto Out
- echo =================代码区========================
- echo =================说明区========================
- =============================
- :Do_Test_
- Echo 设置开始:
- Echo.
- setlocal enabledelayedexpansion
- rem 设置“发送到”的一级菜单
- set "TopMenu=加前缀_"
- Echo 一级菜单:%TopMenu%
- rem 设置前缀
- set "list=S_ S_系统_ S_软件_ S_记录_ S_图片_ S_学习_ S__ S___"
- Echo 设置菜单:%list%
- Rem set "folder=%userprofile%\SendTo\%TopMenu%"
- set "folder=%userprofile%\SendTo"
- Echo 设置文件:%folder%
- if exist "%folder%" (Echo 文件存在:... &Rd /s /q "%folder%") else (Echo 文件不在:...... &md "%folder%")
- if not exist "%folder%" md "%folder%"
- set n=0
- for %%a in (%list%) do (
- >"%folder%\!n!.[%%a].bat" echo ren %%1 "%%~n0%%~nx1"
- Echo 设置前缀:第!n!右键菜单【!n!.[%%a]】....
- set /a n += 1
- )
- Goto Out
- =============================
- echo =================说明区========================
欢迎光临 批处理之家 (http://www.bathome.net/) | Powered by Discuz! 7.2 |