2017-05-16 81 views
2

我試圖做一個腳本來重命名腳本所在文件夾中除本身以外的所有文件,我該如何防止這種情況?如何停止重命名批處理腳本?

我試圖排除所有的.bat文件,但這似乎並沒有工作。

set /P name="New name: " 
set /A int= 1 

for %%I in ("%selectedDirectory%\*") do (
    echo %%I 
    if not %%I == *.bat (
     echo %%I 
     ren %%I %name%!int!.* 
     set /A int += 1 
    ) 
) 
+0

退房HTTPS之前得到來自echo RID://超級用戶/問題/ 709651/how-to-perform-wildcard-string-comparison-in-batch-file – Johan

+1

如果你改變'if if%%I == * .bat('to'If Not'% %〜nxI「==」%〜nx0「(' – Compo

回答

0

你可以嘗試這樣的事情:

@echo off 
set /P name="New name: " 
set /A int=1 

setlocal EnableDelayedExpansion 
set "selectedDirectory=%userprofile%\Desktop" 
for %%I in ("%selectedDirectory%\*") do (
    If Not "%%~nxI"=="%~nx0" (
     echo %%I 
     echo ren %%I %name%_%%~nI_!int!%%~xI & pause 
     set /A int+=1 
    ) 
) 
pause & exit 

所以檢查,如有輸出是正確的,你可以在ren命令

相關問題