对于大多数麻烦字符,例如&
,您可以通过将字符串用引号引起来来走私它们。但是,对于某些上下文中的某些字符,它不起作用:
@echo off
for %%u in ("hello\?there" "general kenobi") do (
echo %%u
)
这只会返回"general kenobi"
。如果将\?
替换为\*
或"
或\"
,则相同。为什么会这样,并且有解决方法吗?我希望能够对可能包含或不包含\?
的URL列表进行for循环。
答案 0 :(得分:0)
我用数组解决了它。但是,如果URL包含@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET index_list=
SET n=1
:loop
SET url=
SET /P url="Enter url: "
SET url="%url%"
IF %url%=="" GOTO endloop
SET url[%n%]=%url%
SET index_list=%index_list% %n%
SET /A n+=1
GOTO loop
:endloop
SET index_list=%index_list:~1%
FOR %%n IN (%index_list%) DO (
ECHO !url[%%n]!
)
,则无法使用。至于发生问题的原因,请参见aschipfl的评论。
int[,] lost_numbers = { { 1, 0, 1, 0 , 1 },
{ 1, 1, 0, 0 , 1 },
{ 1, 0, 1, 0 , 1 },
{ 0, 0, 0, [1], 1 },
{ 0, 1, 1, 0 , 0 }
};