1
所以在* .cmd文件我有:是否可以在xp bath(cmd)腳本中自動轉義變量?
set /p variable=user input here
而現在我應該做某事與此變量,但用戶可以把這裏一無所知,即使轉義所不允許的字符。所以我有什麼在CMD工具箱中處理這種可能性。那就是現在自動創建(沒有用戶意識到什麼是允許的,哪些不是)另一個變量,其中包含所有必要的字符轉義,所以我可以安全地在腳本中使用它?
所以在* .cmd文件我有:是否可以在xp bath(cmd)腳本中自動轉義變量?
set /p variable=user input here
而現在我應該做某事與此變量,但用戶可以把這裏一無所知,即使轉義所不允許的字符。所以我有什麼在CMD工具箱中處理這種可能性。那就是現在自動創建(沒有用戶意識到什麼是允許的,哪些不是)另一個變量,其中包含所有必要的字符轉義,所以我可以安全地在腳本中使用它?
SET/P將正確接受任何輸入,包括未轉義的特殊字符。當需要使用包含特殊字符的變量(可能)時,您只需使用延遲擴展。
@echo off
setlocal enableDelayedExpansion
set /p "test=Enter something: "
echo test=!test!
SET/P語句中的引號不需要允許特殊字符輸入。他們只是爲了在提示結束時啓用空格。