如何解决用于在光标处插入当前 UNIX 时间戳的 Windows 10 键盘快捷键
我希望能够使用自定义键盘快捷键在光标处插入当前的 unix 时间戳(以秒为单位)。虽然对于使用自定义 JS 插件的浏览器来说很容易完成,但它仍然不是我正在寻找的干净的解决方案,显然不能在浏览器之外工作。
我想它基本上需要我创建一个运行自定义脚本的快捷方式(返回当前的 unix 时间戳值)并将此脚本的输出插入光标处。但是,虽然编写脚本似乎很简单,但我什至不知道从哪里开始这项任务的所有剩余部分。
解决方法
此方法要求您执行快捷键组合,然后然后 Ctrl + V
。这不完全是您要查找的内容,但应该非常接近。它使用 Set-Clipboard
将 Unix 时间戳放在剪贴板上,以便将其粘贴到所需位置。
- 打开文件资源管理器并导航到您要创建的位置 快捷方式
- 右键单击 > 新建 > 快捷方式
- 在输入项目的位置字段中,输入(全部在一行中):
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{Set-Clipboard -Value ([string](Get-Date -UFormat %s -Millisecond 0))}" -WindowStyle Hidden -NonInteractive -NoLogo -NoProfile -ExecutionPolicy Bypass
- 为快捷方式输入名称,然后点击完成
- 右键点击新创建的快捷方式并选择属性
- 将运行更改为最小化
- 在快捷键字段内点击并执行您想要的快捷键组合来捕获它;例如,
Ctrl + Alt + [
- 点击确定
- 要运行快捷方式,请执行先前捕获的快捷键组合(将 Unix 时间戳放在剪贴板上),然后执行
Ctrl + V
。
PowerShell 5.1+ 具有名为 PSReadline 的本机模块。此模块具有 Get-PSReadLineKeyHandler
、Set-PSReadLineKeyHandler
和 Remove-PSReadlineKeyHandler
。
使用这些 cmdlet,您可以为此自定义 unixdate 输出创建自己的 KeyHandler。下面我将组合键 Ctrl+Alt+u
绑定到这个,但它可以是任何组合键。
注意:如果您想直接将示例粘贴到 PowerShell
Set-PSReadLineKeyHandler -Chord Ctrl+Alt+u `
-ScriptBlock {
$unixDate = $([uint64](New-TimeSpan -Start "01/01/1970" -End (Get-Date)).TotalSeconds)
[Microsoft.PowerShell.PSConsoleReadLine]::Insert("$unixDate")
} -BriefDescription "Unix TimeStamp" `
-Description "Returns the current Unix TimeStamp"
如果您还希望将其复制到剪贴板以粘贴到另一个程序中,那么您可以在插入后添加 [Microsoft.PowerShell.PSConsoleReadLine]::Copy()
。
KeyHandler 仅在您当前的会话期间处于活动状态,因此如果您想让它成为每个新 PowerShell 会话的半永久密钥组合,您应该将其添加到您的 PowerShell 配置文件中。您可以通过运行 notepad $PROFILE
并将上面的代码片段放入该文件中来编辑您的个人资料。如果文件不存在,它将被创建。
您可以在 [docs.microsoft.com] 页面上阅读有关 PSReadLine cmdlet 的更多信息,以及有关 [Microsoft.PowerShell.PSConsoleReadLine]
类 here
转到 here,点击下载(如果有 wget.exe,请不要不要使用),然后按照以下步骤操作:右键单击下载的文件 > 属性 > 快捷方式,然后您将找到显示无(确切)的内容,单击它,然后按 Ctrl + Alt + [任何键] 或只需按 [任何键](您需要使用 Ctrl + Alt 并将 [任何键] 更改为任何字符并删除括号)。重新启动计算机,它应该在设置中设置的默认浏览器中打开 this 链接(要打开设置应用程序,请按 Win 键 + I)。对不起,我不知道或可以研究将它放在光标中,所以这是我所知道的......
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。