如何在 if exists 陳述句中使用 [0-9]。我想檢查第二個數字是 1-9 的檔案是否存在。
如果存在 "filepath\a[1-9]*" (echo "yes")
似乎 [1-9] 通配符在 if exists 陳述句中不起作用。
您知道如何實施此檢查嗎?
例如,當名為 a1 (a2da) 的檔案存在,但不存在 a0 (a0ss) 時,列印“yes”
uj5u.com熱心網友回復:
如果您只檢查第二個字符,而不考慮它之后的其他字符,則可以使用如下內容:
for /l %%n in (1,1,9) do if exist "a%%n*" echo yes, exist '%%n'
uj5u.com熱心網友回復:
由于這是一個批處理檔案,并且只撰寫一次,因此幾乎不需要嘗試使您的命令盡可能短。因此,只需使用一個dir命令和一個echo命令,而不是一個基本上運行九個if命令和可能九個echo命令的回圈。
@Dir "filepath\a1*" "filepath\a2*" "filepath\a3*" "filepath\a4*" "filepath\a5*" "filepath\a6*" "filepath\a7*" "filepath\a8*" "filepath\a9*" /B /A:-D 2>NUL 1>&2 && Echo Yes
但是請注意,您的問題不夠清楚,無法確定您的全部任務。此示例將列印Yes是否a[123456789]…存在于 中filepath,無論名為 的檔案是否a0…也存在于中,它都會執行此操作filepath。
uj5u.com熱心網友回復:
另一種方法是使用 PowerShell。如果您使用的是受支持的 Windows 系統,則它已安裝。
powershell -NoLogo -NoProfile -Command "Test-Path -Path '.\a[1-9]*'"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/432862.html
