Batch file 变数正在消失

Batch file 变数正在消失,batch-file,Batch File,我需要让我的代码如下所示: if %Psername%==admin ( if %P%==password ( 但当我输入代码时: echo( if %Psername%==admin ( >>"%HOMEDRIVE%%HOMEPATH%\Orion\Login.bat" echo( if %P%==password ( >>"%HOMEDRIVE%%HOMEPATH%\Orion\Login.bat" 在文本文件中显示为: if ==admin (

我需要让我的代码如下所示:

if %Psername%==admin ( 
    if %P%==password ( 
但当我输入代码时:

echo( if %Psername%==admin ( >>"%HOMEDRIVE%%HOMEPATH%\Orion\Login.bat"
echo(   if %P%==password ( >>"%HOMEDRIVE%%HOMEPATH%\Orion\Login.bat"
在文本文件中显示为:

if ==admin ( 
if ==password ( 

如何按字面意思回显字符串
%Psername%
%p%

正如@Magoo所说,特殊字符需要转义。在这种情况下,百分号(
%
)要求

以下是固定代码段:

echo( if %%Psername%%==admin ( >>"%HOMEDRIVE%%HOMEPATH%\Orion\Login.bat"
echo(   if %%P%%==password ( >>"%HOMEDRIVE%%HOMEPATH%\Orion\Login.bat"

请检查有关特殊字符的更多信息。

的可能重复(当然,假设您实际上已在脚本中较高的位置设置了变量,而您没有向我们显示这些变量)要回显
文本
%
,需要使用
%
作为
%
转义
%
(即将其转换为普通字符)。其他字符如
@somethingsdark我没有设置任何变量,因为此代码将作为下载的一部分。您正在编写脚本来编写脚本?我希望你提到那件事;你会很快得到正确的答案。