批處理 星號的替換

2022-06-03 19:12:10 字數 937 閱讀 9220

批處理中通常替換方法是 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...