如何调用参数为包含与符号 (&) 的变量的子例程?
没有错误,但调用似乎永远不会执行。
例子.bat
@echo off
setlocal enableDelayedExpansion
rem Doesn't work
set val=with^&ersand
call :Output !val!
rem Works fine
set val=without_ampersand
call :Output !val!
goto End
:Output
set "line=%1"
echo Called: !line!
goto :eof
End:
Run Code Online (Sandbox Code Playgroud)
输出:
调用: without_ampersand
编辑:
不需要使用delayExpansion。它只是在这个例子中使用。不使用 delayExpansion 的方法是首选。
问题的重点是“我如何调用”而不是“我最初如何设置变量”。变量可能来自用户输入或for /f循环(就像我的情况)。
应用程序要求它接收的 mp3 文件使用 2 个通道(立体声)进行编码,但原始文件只有 1 个通道(单声道)。
我们使用 Lame 进行转换,但我无法让它克隆单声道并创建一个假立体声。
lame.exe -m j mono.mp3 stereo.mp3
Run Code Online (Sandbox Code Playgroud)
-m d或者-m s似乎也不起作用。用跛脚可以做到这一点吗?