[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理如何将文本内容和自己ehco的内容同时复制到剪贴板

本帖最后由 随风 于 2011-6-8 00:31 编辑

批处理如何将文本内容和自己ehco的内容同时复制到剪贴板
如:a.txt 内容如下
  1. 明月如霜,好风如水,清景无限。
  2. 曲港跳鱼,圆荷泻露,寂寞无人见。
  3. 紞如三鼓,铿然一叶,黯黯梦云惊断。
  4. 夜茫茫,重寻无处,觉来小园行遍。
  5. 天涯倦客,山中归路,望断故园心眼。
  6. 燕子楼空,佳人何在,空锁楼中燕。
  7. 古今如梦,何曾梦觉,但有旧欢新怨。
  8. 异时对,黄楼夜景,。为余浩叹
复制代码
批处理中显示
echo  永遇乐
type a.txt
echo  苏轼
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
技术问题请到论坛发帖求助!

不知道你的系统是什么,WIN7有一个命令  clip
  1. @echo off
  2. (echo  永遇乐
  3. type a.txt
  4. echo  苏轼) | clip
  5. pause>nul
复制代码
---学无止境---

TOP

没有CLIP命令的,考虑用临时文件可以实现。
不用临时文件和第三方软件的方法暂时没有想到
---学无止境---

TOP

2# broly

我是win7系统,的确有个clip
奇怪我用你的代码把内容复制到剪贴板后,无法用第三方软件winclip -p来输出
难道win7的clip不是把内容复制在剪贴板?
还有,我用下面的代码,发现无法启用延迟变量,估计又是预处理的问题,不知能解决否。
  1. @echo off
  2. (echo  永遇乐
  3. for /f "delims=" %%i in (a.txt) do (
  4.    set str=%%i
  5.    setlocal enabledelayedexpansion
  6.    set str=!str: = !
  7.    echo !str!
  8.    endlocal
  9. )
  10. echo  苏轼) | clip
  11. pause
复制代码
技术问题请到论坛发帖求助!

TOP

通道之前的语块,执行时类似于直接在cmd中手动输入命令再运行,此时的setlocal是没有效果的。
解决方法有二:
clip<临时文件
或者
(cmd /vn "for /l %%a in (1 1 5) do echo !random!")|clip

TOP

4# 随风


winclip -c
试试
nsgdsb

TOP

6# ppmath

不行,这个从文件获取
技术问题请到论坛发帖求助!

TOP

4# 随风


如果不考虑大文本的效率问题的话,可以试试变量的嵌套
至于WINCLIP没有用过,倒不清楚什么情况

  1. @echo off
  2. (@echo off
  3. echo  永遇乐
  4. (for /f "delims=" %%i in (a.txt) do (
  5.    set str=%%i
  6.    call set str=%%str: = %%
  7.    call echo %%str%%
  8. ))
  9. echo  苏轼) | clip
  10. pause
复制代码
1

评分人数

---学无止境---

TOP

变量延迟:
  1. @echo off
  2. (echo  永遇乐
  3. cmd /v:on /c "for /f "delims=" %%i in (a.txt) do set "str=%%i"&set "str=!str: = !"&echo !str!"
  4. echo  苏轼) | clip
  5. pause
复制代码
1

评分人数

TOP

不过没看懂那个set str=!str: = !是干嘛用的

TOP

set str=!str: = ! 可以省略,直接echo,!str: = !即可。

TOP

re 4楼,用call是可以,只是一直对call不感冒,希望能用setlocal。。。。完成,还是谢谢你提供方案。。

re 9楼
通过,只是要在do后面的set前加个@符号,否则连命令也一起复制进去了
那个替换是替换制表符为空格,论坛处理的原因。
  1. @echo off
  2. (echo  永遇乐
  3. cmd /v:on /c "for /f "delims=" %%i in (a.txt) do @set "str=%%i"&set "str=!str: = !"&echo !str!"
  4. echo  苏轼) | clip
  5. pause
复制代码
技术问题请到论坛发帖求助!

TOP

xp中没有clip 吗

TOP

返回列表