批处理之家's Archiver

CrLf 发表于 2014-7-25 16:36

xclip 操作剪贴板工具(AHK实现)

完全兼容系统自带 Clip.exe 的功能与习惯,并在此基础上增加了一些新的用途
[color=Red]20160222 修复了读取重定向输入的Bug[/color]
exe程序:[url=http://bcn.bathome.net/s/tool/index.html?key=xclip]http://bcn.bathome.net/s/tool/index.html?key=xclip[/url]
AHK源码:[attach]9618[/attach]
没什么复杂的用法,帮助应该写得很清楚了:[quote]
xclip (20160222)  by  [url]http://bbs.bathome.net[/url]  CrLf

描述:
    将命令行工具的输出重定向到 Windows 剪贴板,或从剪贴板获取输入。
    这个文本输出可以被粘贴到其他程序中。

参数列表:
    /?                 显示此帮助消息。

    /Set              (默认)将命令行工具的输出重定向到 Windows 剪贴板。

    /Copy             将命令行工具输出中列举的文件复制到剪贴板。

    /Cut              将命令行工具输出中列举的文件剪切到剪贴板。

    /Get               从剪贴板获取输入。

    /Clean             清空剪贴板的内容。

    /Wait              等待直到剪贴板不为空,此开关有两个可选参数:

                       第一个参数:如果省略, 此命令将无限期等待,
                                   否则它将等待不超过这个秒数的时间

                       第二个参数:如果省略此参数, 则明确地等待文本或文件
                                   如果此参数为 1,会等待任何类型的数据

示例:
    DIR | xclip                将一份当前目录列表的副本放入 Windows 剪贴板。

    xclip < README.TXT         将 readme.txt 的一份文本放入 Windows 剪贴板。

    echo *.txt | xclip /Copy   将当前路径下所有 txt 文件复制到 Windows 剪贴板。

    dir /b *.txt | xclip /Cut  将当前路径下所有 txt 文件剪切到 Windows 剪贴板。

    xclip /Get                 输出 Windows 剪贴板中的文本。

    xclip /Clean               清空剪贴板的内容。

    xclip /Wait 60 1           等待直到剪贴板中出现任何改变,最多 60 秒。
[/quote]

懒得勤快 发表于 2015-2-12 12:11

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=151473&ptid=31140]1#[/url] [i]CrLf[/i] [/b]

ohawang945 发表于 2016-2-18 12:15

怎么下载的是损坏文件呢

CrLf 发表于 2016-2-20 01:32

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182276&ptid=31140]3#[/url] [i]ohawang945[/i] [/b]


    win7 下载解压并运行,测试无误

ivor 发表于 2016-2-20 09:47

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182346&ptid=31140]4#[/url] [i]CrLf[/i] [/b]


无法结束程序,一直等待

CrLf 发表于 2016-2-20 11:35

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182348&ptid=31140]5#[/url] [i]ivor[/i] [/b]


    什么系统环境?

ivor 发表于 2016-2-20 11:56

windows7 64位

CrLf 发表于 2016-2-20 12:18

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182361&ptid=31140]7#[/url] [i]ivor[/i] [/b]


    那我系统和你是一样的…

wskwfkbdn 发表于 2016-2-22 07:41

看源码上面,读取管道数据貌似分配了是4095的内存,如果数据大于这个内存的数据,会不会导致获取不完整,未测试,询问一下。

CrLf 发表于 2016-2-22 13:46

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182441&ptid=31140]9#[/url] [i]wskwfkbdn[/i] [/b]


    与那无关,这只是用来存储 ReadFile 读取的一截内容,以便过渡到 AHK 内的变量:[code]    while (DllCall("ReadFile", Ptr, hStdIn, Ptr, &sText, UInt, piMaxChars, PtrP, nSize, Ptr, 0))
        sRetVal .= StrGet(&sText, nSize, psEncoding)[/code]但是变量长度确实有上限: #MaxMem 4000,相当于单个变量只能保存 4000MB 的内容,这个限制对 32位程序而言是没有影响的

wskwfkbdn 发表于 2016-2-22 14:00

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182464&ptid=31140]10#[/url] [i]CrLf[/i] [/b]

只需要1024就行啦

CrLf 发表于 2016-2-22 14:55

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=182348&ptid=31140]5#[/url] [i]ivor[/i] [/b]


    已修复

Thorne 发表于 2016-6-1 15:22

说实在的这个工具帮了我大忙了 谢谢大大

hxhxno 发表于 2018-8-18 17:57

百度搜索过来的 刚学到用 多谢!

yeren86125 发表于 2021-11-20 14:12

支持支持..好东西

williamzlj 发表于 2022-7-24 14:24

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=151473&ptid=31140]1#[/url] [i]CrLf[/i] [/b]
这个工具在win11下面无法使用了, 可能调用的库不被支持了, 楼主要是能更新一下就好啦

CrLf 发表于 2022-7-26 23:01

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=257632&ptid=31140]16#[/url] [i]williamzlj[/i] [/b]


    我可以用呀,有什么提示吗?

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.