Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/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
Batch file For/f循环连接参数 @echo关闭 setlocal enableextensions enabledelayedexpansion 标题测试 彩色4f 对于/l%%x英寸(1,1,3)do( 雷姆:这有用吗 set var1=%%x.extension 回声!变形金刚1! 对于/f“令牌=2个delims==”%%a in( “wmic数据文件,其中”name='C:\\Windows\\System32\\notepad.exe“get version/value”)执行( ::这不起作用。为什么?? set var2=%%a.exention ) 回声!变形金刚2! ) @停顿_Batch File_For Loop - Fatal编程技术网

Batch file For/f循环连接参数 @echo关闭 setlocal enableextensions enabledelayedexpansion 标题测试 彩色4f 对于/l%%x英寸(1,1,3)do( 雷姆:这有用吗 set var1=%%x.extension 回声!变形金刚1! 对于/f“令牌=2个delims==”%%a in( “wmic数据文件,其中”name='C:\\Windows\\System32\\notepad.exe“get version/value”)执行( ::这不起作用。为什么?? set var2=%%a.exention ) 回声!变形金刚2! ) @停顿

Batch file For/f循环连接参数 @echo关闭 setlocal enableextensions enabledelayedexpansion 标题测试 彩色4f 对于/l%%x英寸(1,1,3)do( 雷姆:这有用吗 set var1=%%x.extension 回声!变形金刚1! 对于/f“令牌=2个delims==”%%a in( “wmic数据文件,其中”name='C:\\Windows\\System32\\notepad.exe“get version/value”)执行( ::这不起作用。为什么?? set var2=%%a.exention ) 回声!变形金刚2! ) @停顿,batch-file,for-loop,Batch File,For Loop,有人能帮我吗?我试图连接一些变量,for循环参数和字符串。问题是在循环参数的末尾获取字符串。 set var2中的字符串.extension与.extension字符串一起显示在第一位,而不是我希望的最后一位。问题是,输出的是Unicode文本,在将其转换为ANSI文本时遇到问题,因此留下了一些孤立的回车字符,这让你的输出看起来很奇怪。您可以通过将批处理脚本的输出重定向到一个文件并通过十六进制来查看它来证明这一点。编辑 要解决此问题,请围绕另一个for/F循环,如下所示: 对于/F“delims

有人能帮我吗?我试图连接一些变量,
for循环
参数和字符串。问题是在循环参数的末尾获取字符串。
set var2
中的字符串
.extension
.extension
字符串一起显示在第一位,而不是我希望的最后一位。

问题是,输出的是Unicode文本,在将其转换为ANSI文本时遇到问题,因此留下了一些孤立的回车字符,这让你的输出看起来很奇怪。您可以通过将批处理脚本的输出重定向到一个文件并通过十六进制来查看它来证明这一点。编辑

要解决此问题,请围绕另一个
for/F
循环,如下所示:

对于/F“delims=”%%b in('
wmic数据文件,其中“Name='C:\\Windows\\System32\\notepad.exe'”获取版本/值
“)do for/F”标记=2 delims==“%%a in(“%%b”)do(
回音(%%a.0)
)
注意:

不要在块或循环中使用
::
-样式的注释,因为它们可能会导致意外行为;请改用。

问题是,的输出是Unicode文本,并且在将其转换为ANSI文本时遇到问题,因此会留下一些孤立的回车字符,这会使您的输出看起来非常奇怪。您可以通过将批处理脚本的输出重定向到文件中,并通过hex.editor查看它

要解决此问题,请围绕另一个
for/F
循环,如下所示:

对于/F“delims=”%%b in('
wmic数据文件,其中“Name='C:\\Windows\\System32\\notepad.exe'”获取版本/值
“)do for/F”标记=2 delims==“%%a in(“%%b”)do(
回音(%%a.0)
)
注意:

不要使用
::
-在块或循环中使用注释样式,因为它们可能会导致意外行为;请改用。

非常感谢!这已经困扰了我好几天好几周了。请像个魔咒一样工作。由于“delims=”是默认值,因此可以从代码中删除它。您不必客气!这不是通过
“delims=”
是默认值,实际上空格和制表符是默认分隔符;
“delims=”
禁用它们…@ebbie73在这种情况下,您可以删除delims=,因为从命令返回的字符串不包含空格/制表符,但在一般情况下,您应该将其放在那里,否则它将返回字符串,直到只返回第一个空格/制表符。aschipfl提供了强大的解决方案。非常感谢!这让我烦了好几天,我们eks.像符咒一样工作。因为“delims=”是默认值,所以可以从代码中删除它。不客气!delims=“不是默认值,实际上空格和制表符是默认分隔符;
“delims=”
禁用它们…@ebbie73在这种情况下,您可以删除delims=,因为命令返回的字符串不包含空格/制表符,但在一般情况下,您应该将其放在那里,否则它将返回字符串,直到只返回第一个空格/制表符。aschipfl提供了可靠的解决方案。