批處理檢查變數是否存在特殊符號

2021-09-27 03:22:18 字數 658 閱讀 8492

對於這個問題,我其實也困擾了很長一段時間,現在我發現可以這樣:

@echo off&setlocal enabledelayedexpansion

:開始cls

set 結果=沒有出現符號

set /p 字元=???

set 字元長度=0

:檢查字元長度

set 擷取字元=!字元:~%字元長度%,1!

if not "!擷取字元!"=="" (set /a 字元長度+=1

goto 檢查字元長度

):檢查符號

set /a 字元長度-=1

if "!字元:~%字元長度%,1!1"=="^1" set "結果=出現了^^" & goto 結束

if "!字元:~%字元長度%,1!1"=="&1" set "結果=出現了^&" & goto 結束

if "!字元:~%字元長度%,1!1"==">1" set "結果=出現了^>" & goto 結束

if "!字元:~%字元長度%,1!1"=="<1" set "結果=出現了^<" & goto 結束

if %字元長度%==0 goto 結束

goto 檢查符號

:結束echo %結果%

pause

goto 開始

批處理特殊符號

在for中表示使用增強的變數擴充套件 在set中表示使用擴充套件環境變數指定位置的字串 在set a中表示按位取反。命令包含或者是具有優先權的界定符吧,比如for命令要用到這個 我們還可以在if,echo等命令中見到它的身影 標籤定位符,可以接受goto命令所指向的標籤。比如在批處理檔案裡面定義了乙...

批處理常用特殊符號

和 命令不能同時出現乙個句子裡 批處理把一行看成乙個句子 組合命令 的優先順序沒有管道命令 的優先順序高 自己總結 的,不妥的地方請指正 所以這句在執行時將本行分成這兩部分 dir c 和dir d a.txt,而並不是如你想的這兩部分 dir c dir d 和 a.txt。要使用組合命令 達到題...

URL特殊符號處理

有些特殊符號在url中試不能直接傳遞的,如果要在url中傳遞這些符號,就需要使用它們的編碼 否則,將會出現亂碼。十六進製制值 1 url 中 號表示空格 2b 2 空格 url中的空格可以用 號或者編碼 20 3 分隔目錄和子目錄 2f 4 分隔實際的 url 和引數 3f 5 指定特殊字元 25 ...