Batch file 将变量重定向到文本文件时出现额外空间问题

Batch file 将变量重定向到文本文件时出现额外空间问题,batch-file,Batch File,当我运行以下行时: set "Loc=%~dp0" echo %Loc% > C:\PLACE\LOCFILE.txt 我在LOC文件中收到以下信息: C:\BATCHLOC ^ Note Space 我正在尝试在单独的批处理文件中使用%Loc%,如下所示: ( set /p Loc= )<C:\PLACE\LOCFILE.txt ) call "%Loc%\FILENAME.bat" ( 设置/定位点= ) 修正: 修正: 这是更强大的

当我运行以下行时:

set "Loc=%~dp0"
echo %Loc% > C:\PLACE\LOCFILE.txt
我在LOC文件中收到以下信息:

C:\BATCHLOC 
           ^
       Note Space
我正在尝试在单独的批处理文件中使用%Loc%,如下所示:

(
set /p Loc=
)<C:\PLACE\LOCFILE.txt
)
call "%Loc%\FILENAME.bat"
(
设置/定位点=
)
修正:

修正:

这是更强大的

>"C:\PLACE\LOCFILE.txt" echo(%Loc%
当重定向直接在末尾时(如下图所示),开始处的重定向会阻止
%loc%
中的3,4,5等数字破坏代码

当使用下面的技术时,像
%loc%
中的
测试2
这样的构造也将失败

这是因为末尾的一位数字被解释为流指示符,因此当数字0到9直接放在重定向字符之前时,都会出现问题(
>

不要使用此选项:
echo%Loc%>C:\PLACE\LOCFILE.txt

额外提示:

echo(
可防止echo命令中出现其他故障,
字符已被测试为以这种方式使用时问题最小的字符

驱动器:\path\filename
周围的双引号还可以防止长文件名元素(如空格)以及
&
字符。

这更为健壮

>"C:\PLACE\LOCFILE.txt" echo(%Loc%
当重定向直接在末尾时(如下图所示),开始处的重定向会阻止
%loc%
中的3,4,5等数字破坏代码

当使用下面的技术时,像
%loc%
中的
测试2
这样的构造也将失败

这是因为末尾的一位数字被解释为流指示符,因此当数字0到9直接放在重定向字符之前时,都会出现问题(
>

不要使用此选项:
echo%Loc%>C:\PLACE\LOCFILE.txt

额外提示:

echo(
可防止echo命令中出现其他故障,
字符已被测试为以这种方式使用时问题最小的字符


驱动器:\path\filename
周围的双引号
还可以防止长文件名元素,如空格,以及
&
字符。

谢谢,这解决了我的问题!我在这个网站上玩得很开心,我喜欢快速准确的答案!如果LOC=3,这将失败谢谢,这解决了我的问题!我在这个网站上玩得很开心,我喜欢快速准确的答案回答!如果LOC=3,则此操作将失败。偶数1和2将中断,但方式不同。谢谢@joey我添加了更多信息。偶数1和2将中断,但方式不同。谢谢@joey我添加了更多信息。
>"C:\PLACE\LOCFILE.txt" echo(%Loc%