[原创源码] [Python]复制大堆文本后,逐行复制到剪贴板。
本帖最后由 wkdxz 于 2022-5-30 09:25 编辑不知道XDM有没有遇到这样的场景,有时候需要把大量文本(比如:地址、电话等)从文本中,一行行的复制到另一个软件里面。 需要频繁地循环执行以下5个步骤:
[*]切换文本软件
[*]选中文本(仔细找下一行)
[*]Ctrl C
[*]切换软件
[*]Ctrl V
有时候步骤2还容易出错,容易多选换行符,或者漏选文本。今天分享的小工具,就是我针对这种情况写的,原理很简单,操作也简单。
-----------------------------------------------
使用脚本后执行步骤:
[*]复制所有要粘贴的文本
[*]点开脚本
[*]切换软件
[*]Ctrl V
[*]切换到脚本
[*]按任意键(文本会按顺序逐行复制到剪贴板)
1、2步骤执行后,只需要循环执行3~6个步骤就可以了。拖选文本,查找下一行文本,复制文本的工作,只需要按一下空格就完成了。在处理只有几行,或十几行文本的时候,能很快处理完。
Python脚本代码:
使用了一个三方库,使用PIP直接安装: pip install pyperclip
from os import system as run
run('title 逐行复制文本 - By 52pojie_wkdxz')
from pyperclip import copy, paste
#按行分割剪贴板,如果不是空行,就加入列表
jtb =
def kong(x):#至少留3个空格(4-默认一个空格)
n = 4 - len(str(x))
return ' ' * n
#打印所有剪贴板内容
def printJTB():
run('cls')
for x, y in enumerate(jtb, start=1):
print(f'{x} >{kong(x)}{y}')
n = 1
for i in jtb:
printJTB()#打印所有剪贴板内容
copy(i)
print(f'\n已复制[ {n}/{len(jtb)} ]:{i} ', end='')
if n == len(jtb):
run('color 0a')
print(f'\n\n\n复制完毕,按任意键退出. . .', end='')
run('pause>nul')
n += 1
最初我写的是bat,后来觉得不够直观,换成了python,如果处理简单文本,不想安装Python,可以使用下面的bat
@echo off
echo.
::把需要逐行复制的文本,放在下面,文本不能有空格
for %%a in (
236307642
236395548
26043022
)do echo %%a|clip&set /a a+=1&echo ^> 已复制 %%a ...&title %%a 已复制&pause>nul
color 0a
echo.
echo.
echo ^>^> %a%行文本已复制完。
echo.
echo.&pause
本帖最后由 wkdxz 于 2022-6-22 11:44 编辑
最近小改了一下 有兴趣的拿走
from os import system as run
run('title 逐行复制文本 - Py版')
from pyperclip import copy, paste
#按行分割剪贴板,如果不是空行,就加入列表
jtb =
def kong(x):#至少留3个空格(4-默认一个空格)
n = 4 - len(str(x))
return ' ' * n
#打印所有剪贴板内容
def printJTB(i):
run('cls')
for x, y in enumerate(jtb, start=1):
star = '->' if x == i else f'{x} >'
print(f'{star}{kong(star)}{y}')
for n, i in enumerate(range(1, len(jtb) + 1), start=1):
printJTB(i)#打印所有剪贴板内容
copy(jtb)
print(f'\n已复制[ {n}/{len(jtb)} ]:{jtb} ', end='')
if n == len(jtb):
run('color 0a')
print(f'\n\n\n复制完毕,按任意键退出. . .', end='')
run('pause>nul') wkdxz 发表于 2022-5-30 11:55
确实可以,行数多了用AHK搭配自动操作。如果只有几行临时使用的话,就直接用脚本。
AHK是什么东西 感谢楼主分享 用不明白~ 小秒丶 发表于 2022-5-30 09:34
用不明白~
发个操作演示 wkdxz 发表于 2022-5-30 09:49
发个操作演示
谢谢明白了,估计得打包出来好用{:1_919:} 为何不一次性复制,什么情景下需要一行一行的复制 还可以再精简步骤 一般我是用bat处理 a2523188267 发表于 2022-5-30 10:41
一般我是用bat处理
他就是调用bat的~;www 支持下,等楼主更新
页:
[1]
2