gpt4 book ai didi

windows - 怎么逃!在变量的值中?

转载 作者:可可西里 更新时间:2023-11-01 10:34:52 25 4
gpt4 key购买 nike

我怎样才能逃脱嵌入式!延迟扩展 !PL! 中使用的变量 PL 的值中的字符,这样它们就不会被解释为分隔符?

例如当 %%P 包含 ! .

FOR %%P IN (%input%\*.M3U) DO (
echo Processing playlist "%%P"

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%L IN ('type "%%P"') DO (
SET PL=%%~pP%%L
echo Processing reference "!PL!"
)
ENDLOCAL
)

编辑:Paul 的有限适用性解决方法:

FOR %%P IN (%input%\*.M3U) DO (
echo Processing playlist "%%P"

FOR /F "tokens=*" %%L IN ('type "%%P"') DO (
SET PL=%%~pP%%L
SETLOCAL ENABLEDELAYEDEXPANSION
echo Processing reference "!PL!"
ENDLOCAL
)
)

最佳答案

我不知道如何在 !var! 中搜索/替换 ! (!myvar:^^!=! ! 不起作用) 但您可以在 var 中显示 !,例如:

@echo off
(
echo !!myfolder
echo myfi!es
echo !234
)>sample.txt
for /f %%a in (sample.txt) do (
set "myvar=%%a"
setlocal enabledelayedexpansion
echo !myvar!
endlocal
)

您可以像这样转置您的代码:

for %%p in (%input%\*.m3u) do (
echo processing playlist "%%p"

for /f "tokens=*" %%l in ('type "%%p"') do (
set pl=%%~pp%%l
setlocal enabledelayedexpansion
echo processing reference "!pl!"
endlocal
)
)

关于windows - 怎么逃!在变量的值中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com