Ken*_*enL 6 escape-characters cmd.exe
我相信我正确使用了命令,但使用以下命令剪贴板是空的:
C:\Windows\System32\cmd.exe /c echo 28376^>1847|clip
Run Code Online (Sandbox Code Playgroud)
我相信问题是>
我正在使用的,并且我使用^
转义字符来覆盖。
关于哪里出了问题有什么建议吗?
使用以下命令将剪贴板清空:
Run Code Online (Sandbox Code Playgroud)echo 28376^>1847|clip
它没有按预期工作的原因是:
当管道或重定向文本时,应用转义字符会变得更加复杂,管道将启动两个新的 cmd.exe 实例,每个 cmd 进程都会传递到管道的一侧,并将再次解析它们的部分(使用 cmd -行解析器,而不是批处理行解析器)。
来源:引号、转义字符、分隔符 - Windows CMD - SS64.com
所以你需要额外的转义字符:
echo 28376^^^>1847|clip
Run Code Online (Sandbox Code Playgroud)
现在,第一个插入符号转义了第二个插入符号^
,第三个插入符号转义了,>
所以现在新cmd
实例继承了>&
进一步阅读:批处理文件 - 为什么在管道代码块内延迟扩展失败?- 堆栈溢出
归档时间: |
|
查看次数: |
1109 次 |
最近记录: |