『壹』 用批處理ren重命名有"!"(注意不是「!」)的文件時 顯示命令語法不正確 怎麼辦
這里有兩個問題:
1.用 findstr 搜索特殊字元時要這樣寫:findstr "\!" 像英文的句號也是 : findstr "\."
2.在用了延遲變數後!會被全面屏蔽 目前我只知道能這樣用 !var!
你試試這個:
@echo off & setlocal enabledelayedexpansion
echo !!!
echo 注意後面的嘆號!!!
echo 注意後面的嘆號!!!
pause
@echo off
dir /b *.ass >1.txt
for /f "tokens=* delims= " %%i in (1.txt) do (setlocal disabledelayedexpansion
echo %%i | findstr "\!" && (setlocal enabledelayedexpansion
echo "%%i" 你看,文件名里的嘆號沒有了。。。
echo 後面的代碼你自己加,我不知道你改文件名的規律... ))
pause
能追加點分么,手打不容易啊...
『貳』 執行ren.bat批處理文件時提示命令語法不正確
如下: @echo offmode con cols=35 lines=10echo 方法1:輸入進程PID 方法2:輸入進程名set /p ff=請選擇( 1 or 2 ) :if %ff% EQU 1 ( set /p pid=請輸入進程的PID : echo ntsd /c q /p %pid%) else ( if %ff% EQU 2 ( set /p mz=請輸入進程名 : echo ntsd /c q /pn %mz% ) else ( echo 請按任意鍵關閉窗口 pause > nul ))exit 或者: @echo offmode con cols=35 lines=10echo 方法1:輸入進程PID 方法2:輸入進程名set /p ff=請選擇( 1 or 2 ) :if %ff% EQU 1 ( set /p pid=請輸入進程的PID : echo ntsd /c q /p %pid% goto a) if %ff% EQU 2 ( set /p mz=請輸入進程名 : echo ntsd /c q /pn %mz% goto a)echo 請按任意鍵關閉窗口pause > nul:aexit
『叄』 ren批處理文件,命令語法不正確是怎麼回事
檢查一下名字 原名和新名是不是有空格,盡量把空格替換掉或者刪掉,我也是這個情況,把名字的空格處理掉就好了
『肆』 bat批處理,代碼是幾十行重命名ren命令,雙擊運行只執行四行命令就退出
應該會執行完的,建議你在BAT文件最後添加一行,內容如下:
PAUSE
這樣執行完畢窗口會不關閉,等待回車才結束,這時候就能發現問題在哪裡,如果還有不明白的,可以上圖追問。
另外,REN遇到名字裡面有空格的文件,需要使用雙引號,例如:
REN "那一年 例子.JPG" 1.JPG