尝试记录输出时的变量问题
Problems with variables when trying to log output
我目前正在处理一个批处理文件,它运行多个命令,从文本文件中读取值等。
我面临的问题是我无法正确设置变量。
以下代码片段演示了我的问题:
>> %userprofile%\AppData\Local\Temp\test.log 2>&1 (
echo ### Fetching language...
powershell -c "(Get-UICulture).Parent.Name" > lang.txt
set /p LANG=<lang.txt
echo Your language = %LANG%
)
输出:
### Fetching language...
Your language =
如果删除行 >> %userprofile%\AppData\Local\Temp\test.log 2>&1
一切正常,但输出未写入文件。
我在这里想念什么?
谢谢你!
当口译员看到您第一行的左括号时,您的 %LANG%-Var 就会被评估。这可以通过以下方式禁用:
SETLOCAL ENABLEDELAYEDEXPANSION
>> %userprofile%\AppData\Local\Temp\test.log 2>&1 (
echo ### Fetching language...
powershell -c "(Get-UICulture).Parent.Name" > lang.txt
set /p LANG=<lang.txt
echo Your language = !LANG!
)
我目前正在处理一个批处理文件,它运行多个命令,从文本文件中读取值等。 我面临的问题是我无法正确设置变量。
以下代码片段演示了我的问题:
>> %userprofile%\AppData\Local\Temp\test.log 2>&1 (
echo ### Fetching language...
powershell -c "(Get-UICulture).Parent.Name" > lang.txt
set /p LANG=<lang.txt
echo Your language = %LANG%
)
输出:
### Fetching language...
Your language =
如果删除行 >> %userprofile%\AppData\Local\Temp\test.log 2>&1
一切正常,但输出未写入文件。
我在这里想念什么?
谢谢你!
当口译员看到您第一行的左括号时,您的 %LANG%-Var 就会被评估。这可以通过以下方式禁用:
SETLOCAL ENABLEDELAYEDEXPANSION
>> %userprofile%\AppData\Local\Temp\test.log 2>&1 (
echo ### Fetching language...
powershell -c "(Get-UICulture).Parent.Name" > lang.txt
set /p LANG=<lang.txt
echo Your language = !LANG!
)