我正在使用当前位置进行批处理以进行一些更改,问题是这个位置可能存在&从而导致错误.我想知道是否有一种方法可以让脚本在变量中检查&,如果添加有^&。
我用这个的方式可能是。
Set "Local_Script=%~dp0">nul 2>&1
Echo %Local_Script%> a00_Local.ini注意: txt文件只能使用这种方式。
发布于 2014-12-26 02:01:51
当代码提供字符串文字时,转义字符是可以的。但是,当处理变量中包含的现有字符串时,这通常是不切实际的。
有更简单的解决办法:
1)延迟扩张:
注意,在启用延迟展开之前,必须将批处理参数和/或变量分配给环境变量。否则,包含!的值将被破坏。
@echo off
set "local_script=%~dp0"
setlocal enableDelayedExpansion
echo !local_script!>a00_local.ini2)将引用的值传递给一个简单的FOR变量,然后使用~ 修饰符安全地删除引号:
@echo off
for %%F in ("%~dp0") do echo %%~F>a00_local.ini( 3)将引用的字符串值传递给/F变量,该变量自动删除引号:
@echo off
for /f "delims=" %%F in ("%~dp0") do eho %%F>a00_local.inihttps://stackoverflow.com/questions/27651812
复制相似问题