在我创建的批处理文件中,我正在尝试在两个不同的复制文本之间进行字符串比较。基本上,旧的复制文本与较新的复制文本相同。为此,我想访问剪贴板并将旧的复制文本存储在我的批处理文件中的变量中。然后,复制新文本,将其存储在我的批处理文件中的另一个变量中,并比较两者并查看它们是否相同。我尝试过搜索解决方案,但是我看到的所有文章都描述了如何使用批处理文件将文本复制到剪贴板中。然而,我正试图做相反的事情。非常感谢所有帮助。
答案 0 :(得分:2)
这是一个简短的批量嵌入式解决方案:
1)创建一个小的VB文件,用于将剪贴板的内容存储在临时文件中
set clipFile=%temp%\clipboard
set vbFile=%temp%\clipboard.vbs
del %vbFile% %clipFile%
rem Create VB file
>"%vbFile%" (
echo.Set objHTML = CreateObject("htmlfile"^)
echo.ClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text"^)
echo.path = "%clipFile%"
echo.Set objFSO = CreateObject("Scripting.FileSystemObject"^)
echo.Set objFile = objFSO.OpenTextFile(path, 2, true^)
echo.objFile.WriteLine ClipboardText
echo.objFile.Close )>>"%vbFile%"
2)执行VB脚本
"%vbFile%"
3)将文件内容存储在变量
中SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in (%clipFile%) do Set line=%%i
set clipboard=!line!
echo clipboard="%clipboard%"
ENDLOCAL
答案 1 :(得分:1)
从剪贴板中读取没有本地批量解决方案,但有一些使用其他语言的简单方法。
这是一个Powershell脚本(如果需要,可以从批处理文件中轻松调用):http://poshcode.org/2150
Raymond Chen使用perl的解决方案:http://blogs.msdn.com/b/oldnewthing/archive/2009/11/10/9919908.aspx