CMD:如何将特殊命令符号回显到剪贴板?

CMD: How to echo special command symbol to clipboard?

我需要将这个字符串 >>>(它只是一些方便的复制粘贴)放到剪贴板。
由于 > 是一个特殊的命令字符,我在它前面使用 ^ 来表示所有特殊字符的字面意思。

到目前为止,我的批处理代码如下所示
&& pause这里是用来查看调试信息的):

echo ^>^>^> && pause
echo ^>^>^>>"%~dp0foo.txt" && pause
echo foo|clip && pause
echo ^>^>^>|clip && pause

第一行完美运行(虽然不影响剪贴板)。
第二行完美运行(虽然也不影响剪贴板)。
第三行完美地工作(虽然没有使用我需要的符号)。
第 4 行 returns >> was unexpected at this time 错误。

显然,我需要一些语法提示。

好的,我想出了一个几乎不错的解决方法:

echo ^>^>^>>"%~dp0foo.txt"
type "%~dp0foo.txt"|clip
del "%~dp0foo.txt"
  1. >>> 放入批次
    旁边的 foo.txt (它还通过 " 计算文件路径中的空格)。
  2. returns >>> 作为来自 foo.txt 的内容并将其放入剪贴板。
  3. 立即删除 foo.txt

仍然希望遇到 proper-syntax-based 解决方案。

这有点棘手,因为管道创建了两个新的 cmd 实例(如 )。

您可以使用变量和延迟扩展

set "var=>>>"
cmd /v:on /c "echo(!var!"| clip

或者你可以使用FOR-variable扩展

set "var=>>>"
( FOR %%X in ("%%var%%") DO @(echo(%%~X^) ) | clip