如何将剪贴板中的值复制到变量?

时间:2011-11-02 09:39:35

标签: variables batch-file clipboard

我在剪辑中有一个字符串,我想将其复制到变量var。 我必须使用该字符串在变量中查找更多的子字符串。

4 个答案:

答案 0 :(得分:1)

您可以利用Internet Explorer中内置的功能,并使用其剪贴板对象。然后,您可以使用命令脚本包装访问IE对象的VBScript:

@ECHO OFF

    SETLOCAL ENABLEDELAYEDEXPANSION

    CALL :GetClipboardText Text

    ECHO %LineCount% lines copied.

    ECHO Line1: %Text1%
    ECHO Line2: %Text2%
    ECHO Line3: %Text3%
    ECHO Line4: %Text4%

    ENDLOCAL

GOTO :EOF

:GetClipboardText

    CALL :GetTempFilename TempFile

    ECHO Set objHTML = CreateObject("htmlfile")>%TempFile%
    ECHO WScript.Echo objHTML.ParentWindow.ClipboardData.GetData("text")>>%TempFile%

    SET LineIndex=1

    FOR /F "delims=" %%A IN ('%TempFile% //NOLOGO') DO (
        SET %1!LineIndex!=%%A
        SET /A LineIndex=!LineIndex!+1
    )

    SET LineCount=%LineIndex%

    DEL %TempFile%

GOTO :EOF

:GetTempFilename

    FOR /F "delims=:. tokens=2-5" %%A IN ('ECHO ^| TIME') DO SET T=%%A%%B%%C%%D & GOTO :X

:X

    CALL :Trim %T% T

    SET %1=%Temp%\TMP%T%.vbs

GOTO :EOF

:Trim
    SET %2=%1
GOTO :EOF

不幸的是,由于命令脚本引擎的性质,我必须将文本拆分为行。在我的示例中,%LineCount%将包含行数,将由%Text1%,%Text2%等重试。

答案 1 :(得分:1)

使用clip命令 但它在Windows XP中不存在:(

答案 2 :(得分:0)

这取决于您的操作系统,工具包,语言。如果您使用Qt在Linux上使用C ++编写代码,则可以使用QClipboard::text

答案 3 :(得分:0)

批处理文件无法直接与剪贴板交互。但是,有很多人为您编写了很少的工具,因此您可以从website获取GetClip工具。