我正在批量使用当前位置进行一些更改问题是这个地方可能有&因而导致错误...我想知道是否有办法制作一个检查&在变量中,如果你添加了^&。
我使用它的方式可能是。
Set "Local_Script=%~dp0">nul 2>&1
Echo %Local_Script%> a00_Local.ini
注意:txt文件只能顺便使用。
答案 0 :(得分:1)
当代码提供字符串文字时,转义字符很好。但是在处理变量中包含的现有字符串时,这通常是不切实际的。
有更简单的解决方案:
1)延迟扩张:
请注意,在启用延迟扩展之前,必须将批处理参数和/或FOR变量分配给环境变量。否则,包含!
的值将被损坏。
@echo off
set "local_script=%~dp0"
setlocal enableDelayedExpansion
echo !local_script!>a00_local.ini
2)将引用的值转移到一个简单的FOR变量,然后使用~
修饰符安全地删除引号:
@echo off
for %%F in ("%~dp0") do echo %%~F>a00_local.ini
3)将带引号的字符串值传输到FOR / F变量,该变量会自动删除引号:
@echo off
for /f "delims=" %%F in ("%~dp0") do eho %%F>a00_local.ini