Batch file 批转义百分号

Batch file 批转义百分号,batch-file,escaping,environment-variables,Batch File,Escaping,Environment Variables,大家好,很难让环境变量通过管道传输到clip.exe,在常规命令提示符下它可以工作,但在批处理文件中一旦失败。我尝试过用double%%和其他一些技巧进行转义。似乎什么都不管用 我试图通过管道将citrix环境变量%clientname%的输出传输到clip.exe,如下所示: @echo off echo %clientname% | clip 只需使用^符号来转义命令行中的%字符: C:\> echo ^%clientname^% 但是您需要使用%符号来转义批处理文件中的%符号:

大家好,很难让环境变量通过管道传输到clip.exe,在常规命令提示符下它可以工作,但在批处理文件中一旦失败。我尝试过用double
%%
和其他一些技巧进行转义。似乎什么都不管用

我试图通过管道将citrix环境变量
%clientname%
的输出传输到clip.exe,如下所示:

@echo off
echo %clientname% | clip

只需使用
^
符号来转义命令行中的
%
字符:

C:\> echo ^%clientname^%
但是您需要使用
%
符号来转义批处理文件中的
%
符号:

@echo %%clientname%%

你为什么要谈论逃跑?顺便说一句,你可以带着^%逃跑,不知道为什么echo%blah%不适合你。我建议你排除故障。就像尝试其他变量一样。我一直在排除故障,这不仅仅是我设置的某个变量,这是一个仅在citrix会话中创建的变量。就像我说的,它可以在命令行中工作,但一旦在批处理中运行就不行了。谢谢您的帮助。您想回显文本%name%还是变量的内容?在这两种情况下,您上面的代码都将包含一个尾随空格。变量的内容就是我想要的。我同意尾随空格。您的变量为空-原因可能是您正在其他程序Citrix中设置该变量?或者键入名称。不能用插入符号转义百分号,在批处理文件中,可以用第二个
%