我認爲這將是一件非常複雜的事情。
如果您嘗試在批處理中執行此操作,則需要在用戶所做的每個鍵盤上用花括號重新編寫您的行。我所知道的唯一命令就是Choice命令。 如果您以某種方式管理它以重複用戶輸入每個KB命中,則需要使用退格字符對您的批處理文件進行bytehack操作,並具有將用戶輸入與大括號相結合的邏輯。這不僅非常不舒適,而且非常緩慢。
我會建議讓你的用戶輸入任何字符串並在此之後通過「正則表達式」檢查它(窗戶正則表達式是不是很漂亮)
下面是我用它來檢查打印機的IP地址爲例功能。
%打印機%將是您的用戶輸入的字符串。這個函數也有一個nslookup函數。如果你喜歡,你可以省略。 此2號線做了所有的法寶,但你也可以輸入一些IP地址這是不可能像321.099.000.666
:CheckIP
echo %printer% | findstr /R "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*">nul || goto :EOF
FOR /F "tokens=* delims=" %%A in ('nslookup %printer% 2^>^&1 ') do (
echo %%A | findstr /R /C:"Name: ">nul && set printer=%%A
echo %%A | findstr /R /C:"\*\*\*">nul && (set printerfqdn=%printer% & goto printerip)
)
rem ***************************************
rem * Name: printername.location.companydomain
rem * printerfqdn begins at position 10
rem ***************************************
set printer=%printer:~9%
goto :EOF
您需要第三方程序來實現這一點。 – Endoro 2013-03-24 05:18:49
如? @ mfm4aa – cmd 2013-03-24 05:26:00