Jumbohard 发表于 2021-3-30 10:03

求助,批量修改文本文档

最近想整理自己的笔记,想把层级目录改成用tag分类。因此,原来的旧笔记就全部需要加入tag。
现在的情况是这样:文件全部归类放在文件夹里,需要把同一个目录里面的所有文件(md文本文件)尾部加上一串字符串。虽然知道这个应该自己写段小代码就能解决,但是无奈毫无编程基础请问有现成的工具可以用吗?

Nanachi 发表于 2021-3-30 10:04

linux(或者wsl1)还是windows

nexus1 发表于 2021-3-30 10:11

别整没用的,淘宝十块钱写个bat拉倒

Jumbohard 发表于 2021-3-30 11:45

nexus1 发表于 2021-3-30 10:11
别整没用的,淘宝十块钱写个bat拉倒

也是,我去白嫖下学计算机的朋友好了

—— 来自 Xiaomi M2006J10C, Android 11上的 S1Next-鹅版 v2.4.4.1

Jumbohard 发表于 2021-3-30 11:45

Nanachi 发表于 2021-3-30 10:04
linux(或者wsl1)还是windows

win

—— 来自 Xiaomi M2006J10C, Android 11上的 S1Next-鹅版 v2.4.4.1

ulysses 发表于 2021-3-30 12:00

dropit之类应该可以

晨曦之下 发表于 2021-3-30 12:16

系统杀手 发表于 2021-3-30 12:22

加到文件名? BatchRenamePro

suffix 一个 Parent Folder Name

如果文件夹也是嵌套的就把文件夹也重命名了。

EraserKing 发表于 2021-3-30 12:22

sed

— from Xiaomi MIX 2S, Android 10 of S1 Next Goose v2.4.4

ls2021 发表于 2021-3-30 12:27

微软官方的PowerToys好像有这个功能
文件名和目录名没有特殊符号的话,PowerShell写个脚本就行了。不过好久没写,忘记了

当光停止 发表于 2021-3-30 12:40

本帖最后由 当光停止 于 2021-3-30 12:54 编辑

在md文件内容末尾加字符串吗?新建一个文件写你要加的内容。遍历文件夹内以.md结尾的文件,把这些文件和你刚新建的文件拼接下就好。
网上搜下代码稍微改改就行。

YoumuChan 发表于 2021-3-30 14:21

来点具体的例子?目录长啥样?要加的字符串是固定的还是跟目录相关的还是怎么着?
简单的话两三行bat就给你搞定。

xy2401 发表于 2021-3-30 14:24

听起是文本文件追加内容。楼上有人说的是文件名修改。不太对吧
还是没有听明白。是吧当前文件夹名追加到文本文件末尾吗?

Geminize 发表于 2021-3-30 14:26

Jumbohard 发表于 2021-3-30 15:02

YoumuChan 发表于 2021-3-30 14:21
来点具体的例子?目录长啥样?要加的字符串是固定的还是跟目录相关的还是怎么着?
简单的话两三行bat就给你 ...

理想状态是把当前文件夹的名字加上“#”追加到文件末尾。因为是学日语的笔记所以文件夹名称包含汉字和假名

—— 来自 Xiaomi M2006J10C, Android 11上的 S1Next-鹅版 v2.4.4.1

Jumbohard 发表于 2021-3-30 15:04

xy2401 发表于 2021-3-30 14:24
听起是文本文件追加内容。楼上有人说的是文件名修改。不太对吧
还是没有听明白。是吧当前文件夹名追加到文 ...

是的,当前文件夹名追加到文件内容里面。文件名不能改,不然我笔记里面的双向链接估计全部要乱套

—— 来自 Xiaomi M2006J10C, Android 11上的 S1Next-鹅版 v2.4.4.1

Geminize 发表于 2021-3-30 15:22

VirMoe 发表于 2021-3-30 15:29

冰箱研会长e-3M 发表于 2021-3-30 15:35

还得是pwsh core...
你多给点信息估计楼上都做完作业了...

xy2401 发表于 2021-3-30 15:40

还是上linux shell吧。感觉一行解决不了。
至少要5行

Geminize 发表于 2021-3-30 15:42

nessaj 发表于 2021-3-30 15:54

Python3 发表于 2021-3-30 15:57

系统杀手 发表于 2021-3-30 16:01

Python3 发表于 2021-3-30 15:57
copyaddmd.py 源文件夹 末部添内容文件 目标文件夹
例如:
D:\Python\Project02\copyjpg>copyaddmd.py D:\t ...

第一次看到Python侠写了段有实际使用价值的代码。 惊了

VirMoe 发表于 2021-3-30 16:07

Jumbohard 发表于 2021-3-30 16:44

感谢各位这么积极,不过看得我有点晕了23楼的代码装上Python环境之后复制下来写成py脚本就能直接用吗

—— 来自 Xiaomi M2006J10C, Android 11上的 S1Next-鹅版 v2.4.4.1

Geminize 发表于 2021-3-30 16:46

兔耳僵尸 发表于 2021-3-30 16:50

最好先备份


python侠用的难道是python2?普通的open里面有编码参数的,codecs.open基本不用了

Python3 发表于 2021-3-30 17:43

bbn 发表于 2021-3-30 22:07

这有个软件,你试试行不行。

https://www.shuimiao.net/FileBat/

易语言写的,可能会报毒。

YoumuChan 发表于 2021-3-31 01:50

Jumbohard 发表于 2021-3-30 15:02
理想状态是把当前文件夹的名字加上“#”追加到文件末尾。因为是学日语的笔记所以文件夹名称包含汉字和假 ...
@echo off
chcp 65001
call :process_dir
goto :eof

:process_dir
for %%I in (.) do set dir_name=%%~nxI
echo entering directory %dir_name%
for %%f in (*.md) do (
    echo appending to %%f
    echo %dir_name%# >> %%f
)

for /D %%d in (*) do (
    cd %%d
    call :process_dir
    cd ..
)
exit /b
保存成bat文件在根目录运行就行了

风夏 发表于 2021-3-31 09:10

本帖最后由 风夏 于 2021-3-31 14:12 编辑


处理了一下文件编码问题...默认你markdown编码UTF8了

-----------------

把exe文件放到你md目录,双击....



比如这个目录结构,就把exe放到untitled下
执行之前备份下

Nanachi 发表于 2021-3-31 09:16

import _locale
_locale._getdefaultlocale = (lambda *args: ['en_US', 'utf8'])

python在Windows环境下直接读文本会有编码问题,网上说这段代码可以处理

Jumbohard 发表于 2021-3-31 21:17

YoumuChan 发表于 2021-3-31 01:50
保存成bat文件在根目录运行就行了

谢谢,成了。不过你这个稍微理解上出了点问题,应该是我没有表述清楚。
tag的格式是#<tag_name>,“#”在tag前面。不过我自己改了下11行就好了

Jumbohard 发表于 2021-3-31 21:19

风夏 发表于 2021-3-31 09:10
处理了一下文件编码问题...默认你markdown编码UTF8了

-----------------


谢谢,能用了。不过#和<tag名称>之间是没有空格的,有了空格就成了标题1了。

Jumbohard 发表于 2021-3-31 21:20

Python3 发表于 2021-3-30 15:57
copyaddmd.py 源文件夹 末部添内容文件 目标文件夹
例如:
D:\Python\Project02\copyjpg>copyaddmd.py D:\t ...

试了一下,并没有添加内容,倒是把文件全部复制到目标目录了。是因为文件夹名是中文吗?

lvcha 发表于 2021-3-31 21:25

Python3 发表于 2021-3-31 21:34

Python3 发表于 2021-3-31 21:43

页: [1]
查看完整版本: 求助,批量修改文本文档