批量更改picGo外链前缀

编程
Article Directory
  1. 1. Win
  2. 2. Linux

最近更改了图床的域名,但是,picGo 相册里面的图片 Url 是固定的,导致不能预览,复制的时候也要手动修改 url,虽然可以修改 url ,但是手动一个一个的改,太多了。网上也找不到现成的插件,只好自己研究写了一个脚本。

Win

Python 的脚本,用法 python replace.py 原域名 新域名

请注意 数据的备份,脚本虽然会自动备份,但是,没有容错检测机制,只在我得机器上一切 ok

该脚本只在 Windows 上运行,Linux 更好写 bash 脚本,但我不在 Linux 用 picGo ,所以没有写,Linux 用户请看最后。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import gzip
import os
import sys
print(sys.argv[0])
src = sys.argv[1]
dis = sys.argv[2]
src = src.encode('utf-8')
dis = dis.encode('utf-8')
file = os.getenv('APPDATA') + "\\picgo\\picgo.db"

bak_file = file
while os.path.exists(bak_file + ".bak"):
bak_file = bak_file + '(1)'

os.system('copy ' + file + ' ' + bak_file + '.bak')

print('bak file is: ' + str(bak_file))
print('will replace\'' + str(src) + '\' to \'' + str(dis) + '\'')
t = gzip.GzipFile(file).read()
content = t.replace(src, dis)
new_file = gzip.compress(content)
f = open(file, 'wb')
f.write(new_file)
f.close()
print("finished, please restart picgo")

重启 picgo ,就能看到相册里面的照片 url 都变了,也能正确显示了

Linux

Linux 用户自己写脚本解决了, 思路是,找到配置文件存的地方,大概是 picgo.db 然后,gzip 解压,替换字符串之后,压缩回去

可能用到的命令

tar sed echo gzip

Author: 哒琳

Permalink: http://blog.jieis.cn/2022/20f0ffc8-ec83-4931-b227-8acedffbe773.html

Comments