当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-08-18 14:00 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
RT
看有人需要此项功能,于是就写了一个.使用 :赋予可执行权限,放~/.gnome2/nautilus-scripts,右键脚本里面就可以看见,选择执行。
如果不满意还可以根据重命名的log恢复原命名。

ps:需要zenity,可以apt安装

代码:
#!/bin/bash

#   coded by xiooli
#        have fun : )

choose() {
   ((wid=$(echo $3|wc -c)*6+360))
   choice=$(zenity --list --width=${wid} --height=220 --title "请选择动作"   --column "选项" --column "动作" \
   A "选择执行本脚本的目录($1)" B "输入要重命名文件类型和前缀($2)" C "查看本次欲重命名的清单($3)"\
   D "依据清单执行重命名动作($3)" E "从清单中恢复原来的文件名")
   
   case $choice in
   'A')
      dir=$(zenity --title="选择执行本脚本的目录" --file-selection --directory)
      ;;
   'B')
      extpr=$(zenity --entry --title="输入欲重命名文件类型和前缀" --text="请输类型和前缀,以空格分割")
      ;;
   'C')
      if [ -e "$log_file" ];then
         zenity --title="重命名清单" --info --text="$(cat $log_file)"
      else
         zenity --warning --text="重命名清单不存在"
      fi
      ;;
   'D')
      if [ -e "$log_file" ];then
         cat "$log_file" | while read line;do
            [ -e "${line//->*}" ] && [ ! -e "${line//*->}" ] && \
            mv "${line//->*}" "${line//*->}"
         done
         zenity --info --text="重命名完成"
      else
         zenity --warning --text="重命名清单不存在"
      fi
      execed=1
      ;;
   'E')
      recover_log="$(zenity --title="选择执行本脚本的目录" --file-selection)"
      if [ -e "$recover_log" ];then
         cat "$recover_log" | while read line1;do
            [ -e "${line1//*->}" ] && [ ! -e "${line1//->*}" ] && \
            mv "${line1//*->}" "${line1//->*}"
         done
         zenity --info --text="恢复原命名完成"
      else
         zenity --warning --text="重命名清单不存在"
      fi
      ;;
   *)
      quit=1
      ;;
   esac
}

creat_log_file() {
   if [ "${extpr}" != "${extpr0}" ];then
      extpr0="${extpr}"
      [ -z ${dir} ] && dir="$(pwd)"
      ext=${extpr// *}
      pr=${extpr//* }

      log_file="${dir}/${ext}->${pr}_$(date +%m.%d-%k:%M).log"
      i=0
      for it in ${dir}/*.$ext; do
         echo "$it->${dir}/$pr$i.$ext" >> ${log_file}
         let i=i+1
      done
   fi
}

while [ -z "$extpr" ] || [ -z "$execed" ];do
   creat_log_file
   choose "${dir:-$(pwd)}" "${extpr:-未输入}" "${log_file:-不存在}"
   [ "$quit" ] && exit 1
done


附件:
rename_files.tar.gz [1.07 KiB]
被下载 122 次


最后由 xiooli 编辑于 2008-08-18 16:21,总共编辑了 2 次
页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-08-18 14:03 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
图:


附件:
Screenshot.png
Screenshot.png [ 1.03 MiB | 被浏览 1736 次 ]

Screenshot-1.png
Screenshot-1.png [ 1 MiB | 被浏览 1708 次 ]

页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-08-18 14:31 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
居然没有人顶? :shock:


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-08-18 14:48 
头像

注册: 2008-04-02 15:36
帖子: 724
地址: O_O
送出感谢: 0 次
接收感谢: 0 次
支持,好得很。


_________________
^o^ && O_O && ^_^
One World|One Dream|One Piece
愛 ^_^ 這個 美麗的世界O_O

本公司专治各种不服、不爽、谩骂、挑衅。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-08-18 15:07 
头像

注册: 2008-02-17 23:47
帖子: 22109
地址: 美丽富饶的那啥星球
送出感谢: 11
接收感谢: 82
支持 :D


_________________
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-11-19 22:31 

注册: 2008-05-27 12:55
帖子: 85
送出感谢: 0 次
接收感谢: 1
完全不知道怎么用 :em20


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-11-19 22:58 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
tttomato 写道:
完全不知道怎么用 :em20

就是重命名一个目录下同一类文件(以同样后缀结尾的),然后重命名成以一个前缀开始后面接数字的样子。
多用在重命名图片。比如你专门有一个目录下面有一堆jpg结尾的图片但是名字很乱,想给其重命名为比如说以“壁纸”开头,然后在输入框里面就可以这样输入:jpg 壁纸
然后执行之。。。。结果可以看到,如果不满意还可以从log文件恢复原名。

有同名的文件不会被覆盖。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-11-20 9:25 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
改图片的吧。我都发几个版本了的。
支持log啊。你家伙真狠。估计怕把女同志的名字搞乱了,才建立log的。


_________________
● 鸣学


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-11-20 14:46 

注册: 2008-06-20 19:10
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
:em02 搞定,谢谢楼主。 第一次用脚本,嘿嘿


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-12-06 12:16 

注册: 2006-12-18 1:05
帖子: 274
送出感谢: 0 次
接收感谢: 0 次
用ROX的Send to传送脚本,“选择执行本脚本的目录”这里不能直接传到右键所在地址, 只是到家目录。
能不能改进一下。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2008-12-06 12:35 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
xblx 写道:
用ROX的Send to传送脚本,“选择执行本脚本的目录”这里不能直接传到右键所在地址, 只是到家目录。
能不能改进一下。

rox?我不会用那个哦 :em03 ,你可以看看在rox下怎么获取当前目录,然后改下吧 :em02


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2009-04-08 23:36 

注册: 2008-04-22 13:52
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
rt


最后由 jorien 编辑于 2010-11-04 14:38,总共编辑了 1 次

页首
 用户资料  
 
13 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2009-08-19 21:13 
头像

注册: 2008-07-17 13:24
帖子: 193
送出感谢: 0 次
接收感谢: 0 次
好用,赞一个 :em11


_________________
代码:
如鱼饮水 冷暖自知


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2009-08-23 16:56 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
这个地道的脚本党 :em04
我一般都是用 thunar -B ,支持正则、支持音乐标签的。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 右键图形界面文件批量重命名脚本
帖子发表于 : 2009-08-24 1:50 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
这个好像不需要这么复杂吧,需要的时候即兴一行代码算了
比如jpg
i=1;for j in *.jpg;do mv $j xxx_$i.jpg;((i++));done


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译