全球主机交流论坛

标题: 求个批量改文件名的脚本 [打印本页]

作者: nbweb    时间: 2022-2-16 13:31
标题: 求个批量改文件名的脚本
文件名如下:
你是一个人 - 张三.txt
今天天气好 - 李四.txt
......

这样的名称有几千个,想改为:

张三 - 你是一个人.txt

前后对换一下,求个shell脚本,谢谢。
作者: ac1083819963    时间: 2022-2-16 13:40
@echo off
setlocal EnableDelayedExpansion
for %%n in (*.txt) do (
ren "%%n" "张三 - 你是一个人.txt"
)
作者: acaiplus    时间: 2022-2-16 13:54
https://wp.kxswga.ga/index.php?share/file&user=1&sid=DdSs3u7r

作者: acaiplus    时间: 2022-2-16 13:56
或者导入EXCEL中,然后将第一列剪切到粘贴到后面,最后重新导出来
作者: ColinDemon    时间: 2022-2-16 14:33
最笨也最好实现的方法使用替换批量改文件名,用TC举例,一共四步,1、2步替换 你是一个人 和 今天天气好 为张三,3、4步替换 张三 和 李四 为 你是一个人
作者: kylehao    时间: 2022-2-16 14:43
dir *.jpg /b>文件名列表.txt
先批处理获取文件名,再用EXCEL处理成新文件名,用下面批处理就行
ren 16221070.jpg 001.jpg


作者: bigfaint    时间: 2022-2-16 14:52
Windows还是Linux?
作者: 空灵心梦    时间: 2022-2-16 14:55
本帖最后由 空灵心梦 于 2022-2-16 14:57 编辑
  1. rename "s/(.+) - (.+)\.txt/\2 - \1\.txt/igm" *.txt
复制代码

作者: 你是个好人    时间: 2022-2-16 14:57
https://cloud.tencent.com/developer/news/493251 参考
作者: Ayug    时间: 2022-2-16 14:58
我是通过 Everything 的重命名功能实现的
作者: Eure    时间: 2022-2-16 15:01
  1. #!/bin/bash

  2. ls *.txt | while read file; do
  3.     new_file=$(echo "$file" | sed -E 's/(.*) - (.*)\./\2 - \1./')
  4.     mv "$file" "$new_file"
  5. done
复制代码

作者: 战神赵日天    时间: 2022-2-16 15:14
windows直接用bat批处理文件
命令格式:ren 原文件名字  修改后文件名
excel批量写一下就行了
作者: 惜为伊人醉    时间: 2022-2-16 15:42
python版:

作者: yjsx86    时间: 2022-2-16 15:44
八仙过海各显神通啊
作者: Tankie    时间: 2022-2-16 15:48
牛B了




欢迎光临 全球主机交流论坛 (https://loc.442266.xyz/) Powered by Discuz! X3.4