UrlParamsRemover 自动删除 url 中的参数并写入系统剪贴板

2022-05-13 16:13:01 +08:00
 AllenHua

我有一个习惯,分享给别人一个不需要参数就能准确定位的资源链接,我一定“强迫症一样”把参数全都删了然后再发给别人。这里不谈论好坏,强迫症,也不谈论意义,我简单用 Java 写了一段代码实现了,但是不够优雅,还请各位看官批评。

举个例子

https://www.bilibili.com/video/BV1Ez411v7eL?from=search&seid=3493040094031299633&spm_id_from=333.337.0.0

这个链接很明显是用户搜索了什么关键词之后点进去视频页面产生的 url ,现在我复制它,在 Powershell 下输入 url 回车

剪贴板已经变成了

https://www.bilibili.com/video/BV1Ez411v7eL

接着在任何想要粘贴的地方粘贴即可(比如微信聊天框💬️)

感觉我的实现还是太 low 了,希望有更好的,让我学习一下,我是真的很有这个需求。虽然通过 windows batch file 配合 powershell alias 加上本程序已经很快了,但是我想要通过快捷键,比如 windows/command + shift + R 快速执行程序,然后让程序写入新的 url 到系统剪贴板,这个 work flow 更加无感,也更便捷。

比如 picgo: 截图 --> control/command + shift + P --> 等待上传成功,url 自动写入系统剪贴板 --> 在需要的地方粘贴。

我的代码: https://github.com/hellodk34/UrlParamsRemover


有下面这些步骤。

下载 jar file

releases 下载最新 jar file.

在 jdk11 下开发和测试,不知道 java8 是否兼容。

编写 batch file

@ECHO OFF
start java -jar <your_jar_file_path>.jar

编写 powershell profile 脚本

此处可参考我的文章: 为 PowerShell 设置 alias

编辑文件 xxx\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,添加如下内容(如果没有请生成,请参考上文操作)。

function url {d:\UrlParamsRemover.bat}

此处 url 就是 alias.

整个 flow 就是用户(从浏览器地址栏)复制 url 然后 powershell 输入 url 执行就能将新的 url 写入剪贴板,用户可以在任何地方粘贴。


大家有更好的方法吗?感觉 go 适合写这个小工具。来实现一个吧:)最好能绑定系统快捷键。

1193 次点击
所在节点    分享发现
7 条回复
exocell
2022-05-13 17:32:34 +08:00
powershell 可以读取剪贴板内容呀。

写个 PS1,读取剪贴板,处理字符串,然后输出剪贴板.

然后拉个快捷方式,属性里设置热键就行.

复制 URL 后,按热键,然后粘贴,完事.
AllenHua
2022-05-13 17:38:01 +08:00
@exocell #1 powershell 不会,我学一学 :(
DOLLOR
2022-05-13 17:42:02 +08:00
试着用一个 HTML 文件实现

<!DOCTYPE html>
<div>把 URL 粘贴下来,自动移除参数,并复制到剪切板</div>
<textarea style="width: 500px;height: 200px;" oninput="textareaOnInput(this)"></textarea>
<script>
/** @type {(url:string)=>string} */
const urlParamsRemove=(url)=> {
const u = new URL(url)
return `${u.origin}${u.pathname}`
}

/** @type {(ev:HTMLTextAreaElement)=>void} */
const textareaOnInput = (el) => {
el.value = urlParamsRemove(el.value)
navigator.clipboard.writeText(el.value)
}
</script>
xiozf
2022-05-13 17:56:38 +08:00
啊,我也有这个习惯。我感觉这个事不要再离开浏览器最方便,另开一个工具太繁琐了,我现在用书签版。书签栏常驻,需要净化时点一下书签,页面会自动刷新,页面内的链接也会被净化(只测过淘宝购物车内的链接),净化后的地址也会自动复制到剪贴板,你可以看看。
这是作品首页(书签版和油猴版): https://dmscode.github.io/Link-cleaner/
这是书签版发布讨论页: https://meta.appinn.net/t/topic/3130
这是油猴版发布讨论页: https://www.appinn.com/dms-links-clean-greasemonkey/
xiozf
2022-05-13 18:00:00 +08:00
书签版如果不常驻书签栏,我试了无法生效。
不喜欢书签栏常驻的,可能要等其他人开发出一个小 app ,再绑定鼠标手势。复制网址后做一个手势,手势软件自动调用净化 app 完成净化,我感觉这样也方便。
renmu123
2022-05-13 18:04:03 +08:00
utools 或者 ahk 之类写起来都很方便
就读取剪切板第一条然后做些操作然后再写入
AllenHua
2022-05-13 23:01:24 +08:00
@xiozf 确实是,还要单独再开一个终端不是我想要的 flow
@renmu123 win 下类似 alfred 的软件就用过微软 powertoys ,而且还很有差异。utools 没用过但听过,有机会可以尝试一下,感谢
@DOLLOR good job

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/852658

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX