Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String DOS是否为“&”字符处理?_String_Command Line_Batch File_Dos - Fatal编程技术网

String DOS是否为“&”字符处理?

String DOS是否为“&”字符处理?,string,command-line,batch-file,dos,String,Command Line,Batch File,Dos,DOS似乎不能很好地处理字符串中的&字符。我正在尝试解析url,其中许多url有一个或多个&。如果我这样做: set var = "http://finance.yahoo.com/mbview/threadview/?v=m&bn=2" echo %var% pause 我明白了 回声消失了。 按任意键继续 删除&字符可以纠正这一点,这将是一个合适的解决方法,但我需要在代码中这样做。有什么帮助吗?如果您需要的是Windows命令行 set "var=http:

DOS似乎不能很好地处理字符串中的&字符。我正在尝试解析url,其中许多url有一个或多个&。如果我这样做:

    set var = "http://finance.yahoo.com/mbview/threadview/?v=m&bn=2"
    echo %var%
    pause
我明白了

回声消失了。 按任意键继续


删除&字符可以纠正这一点,这将是一个合适的解决方法,但我需要在代码中这样做。有什么帮助吗?

如果您需要的是Windows命令行

set "var=http://finance.yahoo.com/mbview/threadview/?v=m^&bn=2"
echo %var%
pause

如果您要查找的是Windows命令行,请在代码中查看^&p>

set "var=http://finance.yahoo.com/mbview/threadview/?v=m^&bn=2"
echo %var%
pause
在代码中监视^&p>删除var和=:

删除var和=之间的空格:


当您使用延迟扩展时,不需要逃过“与”符号

setlocal EnableDelayedExpansion
set "var=http://finance.yahoo.com/mbview/threadview/?v=m&bn=2"
Echo !var!

当您使用延迟扩展时,不需要逃过“与”符号

setlocal EnableDelayedExpansion
set "var=http://finance.yahoo.com/mbview/threadview/?v=m&bn=2"
Echo !var!

你真的在使用DOS还是在谈论Windows中的命令行?你真的在使用DOS还是在谈论Windows中的命令行?你真的在使用DOS还是在谈论Windows中的命令行?+1,这次你打败了我:-我正试图写一个完整的解释。这很有效。很不错的。我以为我被击沉了。然而,当这句话正确的时候:回声!str!>my.txt此文件在“&”之后会丢失所有内容,包括“&”:echo!str!|克利佩乔!str!>my.txt可以工作,但是echo!str!|剪辑失败,因为管道创建了一个新的cmd.exe上下文,所以该行被解析两次。更多的话,你应该打开一个新的问题哦-所以你给了我一个只有一次效果的解决方案!哈哈,这似乎和拜瓦尔/拜里夫场景相似。+1,这次你打败了我:-我正试图写一个完整的解释。这很有效。很不错的。我以为我被击沉了。然而,当这句话正确的时候:回声!str!>my.txt此文件在“&”之后会丢失所有内容,包括“&”:echo!str!|克利佩乔!str!>my.txt可以工作,但是echo!str!|剪辑失败,因为管道创建了一个新的cmd.exe上下文,所以该行被解析两次。更多的话,你应该打开一个新的问题哦-所以你给了我一个只有一次效果的解决方案!LOL似乎类似于byval/byref场景。实际上,我只是在问题框中输入了错误的代码-实际代码是按您的方式输入的。事实上,我只是在问题框里打错了——实际的代码是按你的方式打出来的。Thanx,这也奏效了。美好的命令提示符语言很粗糙,这也很有效。美好的命令提示符语言非常粗糙。