Last active
September 7, 2017 01:34
-
-
Save liuxd/7c537d72df29390b16af to your computer and use it in GitHub Desktop.
[mass-rename.rb] Mass rename files in Ruby.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env ruby | |
| # | |
| # mass rename | |
| # | |
| # Old | |
| #$ tree | |
| #. | |
| #├── 3DS《火焰之紋章if》壁紙補完① | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573192919.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573192927.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573192944.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573192952.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573192959.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_20157319299.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193015.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193028.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193037.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_20157319316.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_20157319324.JPG | |
| #│ └── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_20157319330.JPG | |
| #├── 3DS《火焰之紋章if》壁紙補完② | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193051.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193139.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193148.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193157.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193215.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193226.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193233.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193245.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193251.JPG | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193315.JPG | |
| #│ └── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\261\332\274\210\321a\315\352_201573193333.JPG | |
| #├── 3DS《火焰之紋章if》主題壁紙第①部分 | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21001.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21002.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21003.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21004.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21005.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21006.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21007.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21008.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21009.jpg | |
| #│ └── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21010.jpg | |
| #├── 3DS《火焰之紋章if》主題壁紙第②部分 | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21011.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21012.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21013.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21014.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21015.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21016.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21017.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21018.jpg | |
| #│ ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21019.jpg | |
| #│ └── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21020.jpg | |
| #└── 3DS《火焰之紋章if》主題壁紙第③部分 | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21021.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21022.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21023.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21024.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21025.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21026.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21027.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21028.jpg | |
| # ├── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21029.jpg | |
| # └── 3DS\241\266\273\360\321\346\326\256\274y\325\302if\241\267\326\367\356}\261\332\274\21030.jpg | |
| # | |
| #5 directories, 53 files | |
| # | |
| # New | |
| #$ tree | |
| #. | |
| #├── 3DS《火焰之紋章if》壁紙補完① | |
| #│ ├── 352_201573192919.JPG | |
| #│ ├── 352_201573192927.JPG | |
| #│ ├── 352_201573192944.JPG | |
| #│ ├── 352_201573192952.JPG | |
| #│ ├── 352_201573192959.JPG | |
| #│ ├── 352_20157319299.JPG | |
| #│ ├── 352_201573193015.JPG | |
| #│ ├── 352_201573193028.JPG | |
| #│ ├── 352_201573193037.JPG | |
| #│ ├── 352_20157319316.JPG | |
| #│ ├── 352_20157319324.JPG | |
| #│ └── 352_20157319330.JPG | |
| #├── 3DS《火焰之紋章if》壁紙補完② | |
| #│ ├── 352_201573193051.JPG | |
| #│ ├── 352_201573193139.JPG | |
| #│ ├── 352_201573193148.JPG | |
| #│ ├── 352_201573193157.JPG | |
| #│ ├── 352_201573193215.JPG | |
| #│ ├── 352_201573193226.JPG | |
| #│ ├── 352_201573193233.JPG | |
| #│ ├── 352_201573193245.JPG | |
| #│ ├── 352_201573193251.JPG | |
| #│ ├── 352_201573193315.JPG | |
| #│ └── 352_201573193333.JPG | |
| #├── 3DS《火焰之紋章if》主題壁紙第①部分 | |
| #│ ├── 21001.jpg | |
| #│ ├── 21002.jpg | |
| #│ ├── 21003.jpg | |
| #│ ├── 21004.jpg | |
| #│ ├── 21005.jpg | |
| #│ ├── 21006.jpg | |
| #│ ├── 21007.jpg | |
| #│ ├── 21008.jpg | |
| #│ ├── 21009.jpg | |
| #│ └── 21010.jpg | |
| #├── 3DS《火焰之紋章if》主題壁紙第②部分 | |
| #│ ├── 21011.jpg | |
| #│ ├── 21012.jpg | |
| #│ ├── 21013.jpg | |
| #│ ├── 21014.jpg | |
| #│ ├── 21015.jpg | |
| #│ ├── 21016.jpg | |
| #│ ├── 21017.jpg | |
| #│ ├── 21018.jpg | |
| #│ ├── 21019.jpg | |
| #│ └── 21020.jpg | |
| #└── 3DS《火焰之紋章if》主題壁紙第③部分 | |
| # ├── 21021.jpg | |
| # ├── 21022.jpg | |
| # ├── 21023.jpg | |
| # ├── 21024.jpg | |
| # ├── 21025.jpg | |
| # ├── 21026.jpg | |
| # ├── 21027.jpg | |
| # ├── 21028.jpg | |
| # ├── 21029.jpg | |
| # └── 21030.jpg | |
| #5 directories, 53 files | |
| path = '3DS《火焰之紋章if》主題壁紙' | |
| Dir.foreach(path) do |folder| | |
| if folder[0] == '.' | |
| next | |
| end | |
| sub = path + '/' + folder | |
| Dir.foreach(sub) do |file| | |
| if file[0] == '.' | |
| next | |
| end | |
| old_file = sub + '/' + file | |
| new_file = sub + '/' + file.split('\\')[-1] | |
| File.rename old_file, new_file | |
| end | |
| end | |
| # end of this file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment