&符问题

时间:2014-12-26 00:26:45

标签: batch-file

我正在批量使用当前位置进行一些更改问题是这个地方可能有&因而导致错误...我想知道是否有办法制作一个检查&在变量中,如果你添加了^&。

我使用它的方式可能是。

Set "Local_Script=%~dp0">nul 2>&1
Echo %Local_Script%> a00_Local.ini

注意:txt文件只能顺便使用。

1 个答案:

答案 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