首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问题与问题

问题与问题
EN

Stack Overflow用户
提问于 2014-12-26 00:26:45
回答 1查看 141关注 0票数 0

我正在使用当前位置进行批处理以进行一些更改,问题是这个位置可能存在&从而导致错误.我想知道是否有一种方法可以让脚本在变量中检查&,如果添加有^&。

我用这个的方式可能是。

代码语言:javascript
复制
Set "Local_Script=%~dp0">nul 2>&1
Echo %Local_Script%> a00_Local.ini

注意: txt文件只能使用这种方式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-26 02:01:51

当代码提供字符串文字时,转义字符是可以的。但是,当处理变量中包含的现有字符串时,这通常是不切实际的。

有更简单的解决办法:

1)延迟扩张:

注意,在启用延迟展开之前,必须将批处理参数和/或变量分配给环境变量。否则,包含!的值将被破坏。

代码语言:javascript
复制
@echo off
set "local_script=%~dp0"
setlocal enableDelayedExpansion
echo !local_script!>a00_local.ini

2)将引用的值传递给一个简单的FOR变量,然后使用~ 修饰符安全地删除引号:

代码语言:javascript
复制
@echo off
for %%F in ("%~dp0") do echo %%~F>a00_local.ini

( 3)将引用的字符串值传递给/F变量,该变量自动删除引号:

代码语言:javascript
复制
@echo off
for /f "delims=" %%F in ("%~dp0") do eho %%F>a00_local.ini
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27651812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档