{"id":23284221,"url":"https://github.com/agilecreativity/folders_renamer","last_synced_at":"2025-04-06T15:15:16.282Z","repository":{"id":16720079,"uuid":"19477088","full_name":"agilecreativity/folders_renamer","owner":"agilecreativity","description":"Bulk cleanup/rename folder names to replace special characters with a specific string (recursively)","archived":false,"fork":false,"pushed_at":"2018-03-17T12:54:34.000Z","size":24,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T05:01:57.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agilecreativity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-06T01:34:52.000Z","updated_at":"2018-03-17T12:54:29.000Z","dependencies_parsed_at":"2022-07-13T13:51:12.051Z","dependency_job_id":null,"html_url":"https://github.com/agilecreativity/folders_renamer","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Ffolders_renamer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Ffolders_renamer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Ffolders_renamer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Ffolders_renamer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agilecreativity","download_url":"https://codeload.github.com/agilecreativity/folders_renamer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500476,"owners_count":20948880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-20T01:38:46.196Z","updated_at":"2025-04-06T15:15:16.211Z","avatar_url":"https://github.com/agilecreativity.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## folders_renamer\n\n[![Gem Version](https://badge.fury.io/rb/folders_renamer.svg)][gem]\n[![Dependency Status](https://gemnasium.com/agilecreativity/folders_renamer.png)][gemnasium]\n[![Code Climate](https://codeclimate.com/github/agilecreativity/folders_renamer.png)][codeclimate]\n[![Build Status](https://travis-ci.org/agilecreativity/folders_renamer.svg)][travis-ci]\n\n[gem]: http://badge.fury.io/rb/folders_renamer\n[gemnasium]: https://gemnasium.com/agilecreativity/folders_renamer\n[codeclimate]: https://codeclimate.com/github/agilecreativity/folders_renamer\n[travis-ci]: https://travis-ci.org/agilecreativity/folders_renamer\n\nRename/cleanup folder names using the simple rules. For optimal result you may like\nalso like to try my [filename_cleaner][] gem which clean/rename the bad file names.\n\nFeatures\n--------\n\n- Rename directory recursively from any starting location\n- Replace unwanted characters with value of your choice using `--sep-string` option (default to . (dot))\n- Following the [Semantic Versioning][] for release schedule\n- Quickly rename bad folder names to good folder names with one command.\n\nTL;DR;\n-----\nTurn these directories (if your OS allow you to have these names)\n\n```\nsome_folder/\n├── aa!@#$!01\n│   └── bb#@#$@#$@01\n├── aa**#$@#$#@$aa\n    └── bb$@#$#@$@#bb\n        └── cc#$!#$@#cc!!!\n```\n\ninto these directories\n\n```\nsome_folder/\n├── aa_01\n│   └── bb_01\n├── aa_aa\n    └── bb_bb\n        └── cc_cc\n\n```\nusing command like:\n\n```sh\ncd ~/path/to/some_folder/\n\n# Perform the dry-run to see what will be changed (no changes)\nfolders_renamer --sep-string _\n\n# Commit your changes\nfolders_renamer --sep-string _ --commit\n```\n\n### Installation\n\n```sh\ngem install folders_renamer\n```\n\n### Usage/Synopsis\n\nType the `folders_renamer` without any options, which will give the following output\n\n```\nUsage:\n  folders_renamer -b, --base-dir=BASE_DIR -s, --sep-string=SEP_STRING\n\nOptions:\n  -b, --base-dir=BASE_DIR        # Starting directory\n                                 # Default: . (current directory)\n  -s, --sep-string=SEP_STRING    # Separtor string to use\n                                 # Default: .\n  -c, [--commit], [--no-commit]  # Commit your changes (defalt --no-commit)\n  -v, [--version=VERSION]        # Display version number\n\nCleanup and rename folders\n```\n\n### Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n[Semantic Versioning]: http://semver.org\n[filename_cleaner]: http://rubygems.org/gems/filename_cleaner\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilecreativity%2Ffolders_renamer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagilecreativity%2Ffolders_renamer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilecreativity%2Ffolders_renamer/lists"}