是新手到Windows批處理文件,並一直在努力與此腳本與幾個實驗的時間超過8小時..但沒有運氣...如何檢查「或EQU」窗口中的批處理文件
這是我的代碼
@echo off
setlocal ENABLEDELAYEDEXPANSION
FOR %%f IN (*.*) DO (
echo %%f
echo %%~xf
IF %%~xf==".xml" |= ".java" (
echo file needed
) ELSE(
echo file not needed
del %%f
)
)
1)我無法獲得| =的工作; 「此時」獲得「意外」。「錯誤
2)如何使這個工作的所有文件和子目錄下這fodler?
3)我也試過如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
FOR %%f IN (*.*) DO (
set todel=yes
echo %%~xf
echo todel=%todel%
IF %%~xf==".xml" (
todel=no
)
IF %%~xf==".java" (
todel=no
)
echo todel=%todel%
IF %todel%=="yes" (
del %%f
)
)
todel總是空的。猜猜我不能這樣設置循環內?
任何幫助表示讚賞。謝謝!
如果您閱讀「IF」命令的幫助文件,可能會有幫助。在命令提示符下輸入'IF /?'。 – Squashman
第二組代碼的問題在於你在代碼塊中,它需要使用延遲擴展。您必須啓用延遲擴展,然後使用感嘆號而不是百分號來引用變量。 IF命令也可以進行字符串比較。如果你在比較的一邊有報價,他們必須在另一邊。 – Squashman
嗨Squashman,謝謝你的回覆。我無法理解你在說什麼。你能不能把你的話放進代碼中去顯示缺少的東西? – user1164061