批處理中通常替換方法是 set var=%var:a=b%
但是星號是這樣替換不起作用的
set var=%var:*=x% <----- 出錯 此時不應有 =%
set var=%var:^*=x% <------ 這樣星號還是沒有替換
set var=%var:**=x% <------ 這樣只替換第乙個星號 第二個星號還是沒有替換 並且丟失第乙個星號左邊的字串
::replace all asterisk characters in a variable
::usage:
::set-ast
@echo
off@
setlocal
enabledelayedexpansion
set variable=%~1
set value=!%~1!
set replacement=%~2
:loopback
set righthand=!value:**=!
if ["%value%"]==["%righthand%"] (goto quit)
if ["%righthand%"]==[""] (
set lefthand=%value:~,-1%
) else (
set lefthand=!value:%righthand%=!
set lefthand=!lefthand:~0,-1!
) set value=%lefthand%%replacement%%righthand%
goto
loopback
:quit
for /f "delims=" %%v in ("!value!") do (
endlocal
set "%variable%=%%v"
)
批處理中替換文字內容
fosjos 無聊的菜鳥程式設計師 信譽 100 2006 7 20 12 18 23 得分 0 首先 登錄檔新增乙個或兩個 reg dword 值 hkey local machine software microsoft command processor enableextensions 或 ...
批處理中字串的擷取和替換
echo off set url www.mzwu.com echo 1.字串擷取 echo url 4,4 echo url 4,4 echo url 8,4 echo url 8,4 echo url 4 echo url 4 echo url 4 echo url 8 echo.echo 2....
替換輸入的密碼為星號 C語言
include include getch define max pw len 16 密碼最大長度int main void 儲存使用者輸入的密碼 printf password getpassword storepassword,max pw len 獲取使用者輸入的密碼 printf nchec...