我需要把這個字串>>>(它只是一些方便的復制粘貼)放到剪貼板。
由于>是一個特殊的 cmd 字符,我^在它之前使用它來表示所有特殊字符。
到目前為止,我的批處理代碼如下所示
(&& pause這里用于查看除錯訊息):
echo ^>^>^> && pause
echo ^>^>^>>"%~dp0foo.txt" && pause
echo foo|clip && pause
echo ^>^>^>|clip && pause
第一行完美運行(但不影響剪貼板)。
第二行完美運行(但也不影響剪貼板)。
第 3 行完美運行(但不使用我需要的符號)。
第 4 行回傳>> was unexpected at this time錯誤。
顯然,我需要一些語法提示。
uj5u.com熱心網友回復:
這有點棘手,因為管道創建了兩個新的 cmd 實體(如提到的@aschipf)。
您可以使用變數和延遲擴展
set "var=>>>"
cmd /v:on /c "echo(!var!"| clip
或者您可以使用 FOR 變數擴展
set "var=>>>"
( FOR %%X in ("%%var%%") DO @(echo(%%~X^) ) | clip
uj5u.com熱心網友回復:
好的,我想出了一個幾乎不錯的解決方法:
echo ^>^>^>>"%~dp0foo.txt"
type "%~dp0foo.txt"|clip
del "%~dp0foo.txt"
- 放在你的 Batch 旁邊
(它還考慮了檔案路徑中的空格 via
>>>)。foo.txt" >>>作為內容回傳foo.txt并將其放入剪貼板。foo.txt馬上洗掉。
仍然希望遇到基于正確語法的解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/485736.html
