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"
- 将
>>>
放入批次
旁边的 foo.txt
(它还通过 "
计算文件路径中的空格)。
- returns
>>>
作为来自 foo.txt
的内容并将其放入剪贴板。
- 立即删除
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
我需要将这个字符串 >>>
(它只是一些方便的复制粘贴)放到剪贴板。
由于 >
是一个特殊的命令字符,我在它前面使用 ^
来表示所有特殊字符的字面意思。
到目前为止,我的批处理代码如下所示
(&& 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"
- 将
>>>
放入批次
旁边的foo.txt
(它还通过"
计算文件路径中的空格)。 - returns
>>>
作为来自foo.txt
的内容并将其放入剪贴板。 - 立即删除
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