本帖最后由 pcl_test 于 2016-9-3 19:37 编辑
想要实现为一批文件批量添加前缀,所以研究了一下批处理,先上代码:- @echo off
- setlocal enabledelayedexpansion
- echo "请输入所要添加的标题前缀[不添请回车]"
- set /p str1=
- echo "请输入所要添加的标题后缀[不添请回车]"
- set /p str2=
-
- :chose
- echo "是否应用到子文件夹中(Y/N)"
- set /p cho=
- if "%cho%"=="Y" goto 1
- if "%cho%"=="y" goto 1
- if "%cho%"=="N" goto 2
- if "%cho%"=="n" (goto 2) else (goto chose)
-
- :1
- for /f "delims=" %%i in ('dir /a-d/b/s') do (if not "%%i"==%0 ren "%%i" "%str1%%%~ni%str2%%%~xi")
- goto 3
-
- :2
- for /f "delims=" %%i in ('dir /a-d /b *.*') do (if not "%%i"==%0 ren "%%i" "%str1%%%~ni%str2%%%~xi")
- goto 3
-
- :3
- pause
复制代码 运行基本正确,但是:2部分还是修改批处理文件本身的文件名,也就是复制代码 这个判断失效,我将%%i和%0打印出来发现%0是完整路径。在下新手,不知道这个如何解决,还望高手指点。 |