首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量重命名文件

批量重命名文件
EN

Stack Overflow用户
提问于 2012-08-10 05:05:34
回答 3查看 978关注 0票数 1

我在服务器上的一个文件夹里有25,000张++图片。它们中的许多都有%20,这阻止了它们的显示。有没有人知道我怎么用命令行命令str_replace('%20','_',$imagename)?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-10 05:13:09

下面这段python代码片段可能会对您有所帮助:

代码语言:javascript
复制
import os

for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        if "%20" in name:
            os.rename(os.path.join(root, name), os.path.join(root, name.replace("%20", "_")))
            print("renamed: %s" % name)

请注意".“参数设置为os.walk。将其更改为文件所在目录的路径,或者从该目录运行脚本。

票数 0
EN

Stack Overflow用户

发布于 2012-08-10 05:13:45

这可能会起作用,http://snipplr.com/view/2736/

(此处提供的代码供将来参考)

代码语言:javascript
复制
for i in *.avi
do
  j=`echo $i | sed 's/find/replace/g'`
  mv "$i" "$j"
done

也可以在一行中写成

代码语言:javascript
复制
for i in *.avi; do j=`echo $i | sed 's/find/replace/g'`; mv "$i" "$j"; done
票数 3
EN

Stack Overflow用户

发布于 2012-08-10 05:12:32

一种方法是获取文件中的文件列表,即使用'ls -1 | awk '{print "mv $1 $1"}‘> torename.sh',然后使用正则表达式编辑torename.sh。一旦你得到了你想要的脚本,运行脚本。

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

https://stackoverflow.com/questions/11891958

复制
相关文章

相似问题

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