相关疑难解决方法(0)

转义以正斜杠和问号开头的批处理文件回显

有点棘手.如何在批处理文件中正确转义以下内容?

echo    /?   display this help text
Run Code Online (Sandbox Code Playgroud)

这种特殊的字符组合被视为"ECHO /?" 命令:

C:\Batch>ECHO       /?    display this help text
Displays messages, or turns command-echoing on or off.

  ECHO [ON | OFF]
  ECHO [message]

Type ECHO without parameters to display the current echo setting.
Run Code Online (Sandbox Code Playgroud)

它不响应插入符号(^)逃逸,即.我试过^ /?/ ^?和^/^?

注意:作为一种解决方法,我发现在其间插入其他字符足以绕过ECHO命令行处理器,例如:

echo ...   /?   display this help text
Run Code Online (Sandbox Code Playgroud)

不过,这并不理想,我想知道是否有办法实现所需的输出,即用/?在回显消息的开头.

cmd escaping dos batch-file echo

7
推荐指数
2
解决办法
4946
查看次数

批处理文件创建另一个批处理文件,如何在写行时忽略命令?

我正在写一个Windows批处理文件有点麻烦.

我需要批处理文件将一些特定的行写入另一个批处理文件,我使用的方法是:

type NUL > batchfile.bat
ECHO texttobewrittentofile >> batchfile.bat
ECHO texttobewrittentofile >> batchfile.bat
ECHO texttobewrittentofile >> batchfile.bat
...
etc
Run Code Online (Sandbox Code Playgroud)

大多数行写得很好,但是我的批处理文件写入另一个批处理文件时遇到了一些不同的问题.

我的批处理文件写入另一个批处理文件的代码是:

ECHO @echo off >> GenerateEmail.bat
ECHO ECHO Opening Stunnel >> GenerateEmail.bat
ECHO pushd .\stunnel\ >> GenerateEmail.bat
ECHO start "" stunnel.exe stunnel.conf >> GenerateEmail.bat
ECHO popd >> GenerateEmail.bat
ECHO ECHO Determining latest log for use with blat >> GenerateEmail.bat
ECHO pushd O:\Logs\%clientname%\ >> GenerateEmail.bat
ECHO for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a >> GenerateEmail.bat
ECHO …
Run Code Online (Sandbox Code Playgroud)

text symbols batch-file echo

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

batch-file ×2

echo ×2

cmd ×1

dos ×1

escaping ×1

symbols ×1

text ×1