首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在文件名中切换字段

在文件名中切换字段
EN

Stack Overflow用户
提问于 2015-08-13 22:43:27
回答 2查看 22关注 0票数 0

如何通过使用shell脚本、python或cmd窗口在文件夹中切换文件名的不同部分来重命名文件?

旧文件名

代码语言:javascript
运行
复制
 partA\_partB.pdf
代码语言:javascript
运行
复制
 partC\_partD.pdf
代码语言:javascript
运行
复制
 partE\_partF.pdf  

所需的新文件名

代码语言:javascript
运行
复制
 partB\_partA.pdf
代码语言:javascript
运行
复制
 partD\_partC.pdf
代码语言:javascript
运行
复制
 partF\_partE.pdf
EN

回答 2

Stack Overflow用户

发布于 2015-08-13 22:53:47

这应该可以做到(在Python中):

代码语言:javascript
运行
复制
import os

directory = '/path/to/directory/the/files/are/in/'

for original_filename in os.listdir(directory):
    original_rootname, original_ext = os.path.splitext(original_filename)
    original_filepath = os.path.join(directory, original_filename)
    new_rootname = '_'.join(original_rootname.split('_')[::-1])
    new_filename = new_rootname + original_ext
    new_filepath = os.path.join(directory, new_filename)
    os.rename(original_filepath, new_filepath)
票数 1
EN

Stack Overflow用户

发布于 2015-08-13 23:08:58

巴什/克什/兹什

代码语言:javascript
运行
复制
for f in partA_partB partC_partD partE_partF; do
  IFS=_ read first second <<<"$f"
  echo mv "$f" "${second}_$first"
done
代码语言:javascript
运行
复制
mv partA_partB partB_partA
mv partC_partD partD_partC
mv partE_partF partF_partE

使用for f in *; do迭代实际文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31999609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档