Windows 脚本将一些文本复制到剪贴板?

Windows 脚本将一些文本复制到剪贴板?

我正在使用一个需要多次尝试才能登录的应用程序(因为服务器超载)。

此应用程序没有“记住我的密码”功能。

因此,我想脚本(最好是 .bat 脚本),首先将我的密码复制到剪贴板-这样我就不必在每次登录时重新输入密码-然后启动应用程序(简单的部分)

使用 MS-DOS 命令可以实现吗?我需要一个小的 exe 还是另一种脚本语言?

我显然正在寻找最快的解决方案。

提前感谢您的想法

答案1

http://www.petri.co.il/software/clip.zip
注意 - Petri 的链接目前已关闭。他从 Windows Server 2003 获得该链接,但我也在 Windows 7 上看到了 clip.exe。Windows 7 之后的 Windows 版本中也有该链接。

C:\>echo abc| clip  <-- copies abc to the clipboard.

编辑
最重要的是 clip 命令,但正如 Asu 指出的那样,像这样的行echo abc也会发送 \r\n(即换行符)。如果你想避免这种情况,那么这是一个非常标准的问题,只需将echo texttoecho, 替换为echo|set/p=texttoechoSoC:\>echo|set/p=texttoecho|clip

进一步补充
当然,您可以通过右键单击进行粘贴,但对于命令行粘贴也是如此。

unxutils(一个自 1990 年代以来就不再维护的古老东西)有 gclip 和 pclip(它们似乎不在 gnuwin32 中),你可以通过命令行复制和粘贴它们。

注意 - gnuwin32 可能也没有那么更新。Gnuwin32 上次更新是在 2010 年!Cygwin 仍然在更新,但无论如何。

C:\unxutilsblah\usr\local\wbin>echo a|gclip <-- copy a to clipboard

C:\unxutilsblah\usr\local\wbin>pclip  
a

C:\unxutilsblah\usr\local\wbin>

注意-您可以将整个 wbin 复制到例如c:\unxutils,并且 EXE 没有依赖项/dll。

当然,您也可以执行 pclip>aa 来粘贴到文件。或者 pclip|somecmd

C:\>(echo b & echo a)<ENTER>
b
a

C:\>

C:\unxutils>(echo b & echo a)|gclip<ENTER>


C:\unxutils>pclip<ENTER>
b
a

C:\unxutils>pclip|sort<ENTER>
a
b

C:\unxutils>

答案2

barlop 的选项并不完全正确,因为echo它会在您的密码中添加换行符,从而破坏它。

您需要使用以下内容:

echo|set /p=MyPassWord|clip

这样,字符串就会原样复制到剪贴板。

答案3

我自己也遇到过类似的情况,下面是我解决问题的方法。

首先,我将密码存储在 Windows Credential Vault(Windows Vista 及更高版本)中。为此,我使用 Python 的密钥环库,但您也可以使用类似CredMan(Powershell)来管理它们。使用 Windows Credential Vault 意味着无需在命令行中输入密码,因此不太可能泄露(例如通过命令行历史记录)。

其次,我使用像 clip 这样的工具将密码复制到剪贴板。

您可能会发现需要将两者与您自己的 PowerShell 脚本结合起来,该脚本从凭据管理器中获取文本并将其放在剪贴板上。该脚本可能很简单:

$cred = Read-Creds 'Some System'
[Windows.Forms.Clipboard]::SetText($cred.CredentialBlob)

然后,您所要做的就是在 Windows 凭据管理器中将密码添加到“某个系统”,该脚本就会根据命令神奇地将密码放在剪贴板上。

答案4

您可以按照以下方式使用 powershell:

powershell -c "Set-Clipboard -Value 'MyPassword'"

不确定引用会如何影响命令行(即,如果您的密码中包含单引号或双引号字符)。

相关内容