相关疑难解决方法(0)

在Windows批处理文件的FOR循环中转义星号

在Windows批处理文件中运行以下代码时,除了包含星号的字符串之外,所有内容都会被删除.通过数字检查传递的参数(即echo(%~6)我可以看到星号 - 只有在传递给FOR循环时才会出现问题:

@echo off
setlocal enableextensions enabledelayedexpansion
call:Concat cmd "this is a demo" " of concat functionality." " Hopefully it will work;" " but it doesn't when I pass an" " * asterisk" " character"
echo !cmd!

@goto:end
@goto:eof


:Concat
::Concatenates a given list of strings without including their quotes
::1 - output variable
::2* - strings to concat
echo(%*
set /a xx=0
set Concat_tempFlag=0
set Concat_temp=
for %%A in (%*) do (
    set /a xx=!xx!+1
    echo …
Run Code Online (Sandbox Code Playgroud)

windows for-loop cmd escaping batch-file

4
推荐指数
1
解决办法
3442
查看次数

替换批处理脚本中的字符串字符

我需要*从字符串替换字符,这是这样的:
*10.*31.**2.*65

我想*使用批处理脚本从此字符串中删除所有内容.

batch-file

3
推荐指数
2
解决办法
3万
查看次数

标签 统计

batch-file ×2

cmd ×1

escaping ×1

for-loop ×1

windows ×1