限制使用者輸入批次的長度

限制使用者輸入批次的長度

我需要一個本機命令或一個輕量級簡單的第三方實用程序,我可以使用它們在批處理文件中設置環境變量,但將其限制為一定數量的字元。

例如:

在此輸入訊息(最多 28 個字元):

那麼用戶當然只能輸入28個字元。

有任何想法嗎?

謝謝!

答案1

經過一番搜索,xcopy似乎是最可靠的選擇。

set "key="
for /f "delims=" %%A in ('xcopy /w "%comspec%" "%comspec%" 2^>nul') do if not defined key set "key=%%A"
set "key=!key:~-1!"

取得一個密鑰,您可以用它來建立輸入。

if "!input:~-%length%!" == "!input!"

允許檢查長度(在您的情況下為 28)。


您還可以input.bat我寫的腳本。透過使用宏,您可以獲得腳本的輸出。首先聲明巨集:

set input=^
for %%. in (1 2) do if %%.==2 (^
    for /F "delims=" %%I in ('input.bat !args!') do ^
        set "result=%%I"^
) else set args=

然後你像這樣使用它:

setlocal EnableDelayedExpansion
%input% "prompt=Password: " "length=28"

然後您可以使用該result變數來獲取輸入。

重要的

為了定義巨集延遲擴充需要停用。然而在使用的過程中,需要延遲擴展啟用


資源

x複製輸入- DosTips.com

批次宏- DosTips.com

相關內容