Skip to main content

A number-based folder management and auto-alignment tool.

Project description

๐Ÿ“ Folder Manager (fm)

๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜์˜ ํด๋” ๊ด€๋ฆฌ ๋ฐ ์ž๋™ ์ •๋ ฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

A number-based folder management and auto-alignment tool.

License: This project is licensed under the GPL-3.0 License - see the LICENSE file for details.


๐Ÿš€ ๊ฐœ์š” (Overview)

์ด ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‰ด๋น„๊ฐ€ ์ทจ๋ฏธ๋กœ ๋งŒ๋“  ๊ฐ„๋‹จํ•œ ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. ์ด ๋‰ด๋น„๋Š” ํ•œ๊ตญ์ธ์ด๊ธฐ์— ํ•œ๊ตญ์–ด ์ฃผ์„์ด ํฌํ•จ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

This project is a simple Python script created as a hobby by a programming newbie. Since this newbie is Korean, Korean comments are included.

์ด ์ฝ”๋“œ๋Š” Google Gemini 3.0-Flash ๋ชจ๋ธ์˜ ๋„์›€์„ ๋ฐ›์•„ ์ƒ์„ฑ ๋ฐ ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

This code was generated and optimized with the assistance of Google Gemini 3.0-Flash.


โ“ ์™œ ๋งŒ๋“ค์—ˆ๋Š”๊ฐ€ ( Why was it created ?)

์œ ํŠœ๋ธŒ ์‡ผ์ธ ์—์„œ '๊ตฌ๊ธ€ ์ง์›์˜ ํด๋” ๊ด€๋ฆฌ๋ฒ•' ์ด๋Ÿฐ ๊ฒƒ๋งŒ ๋˜์ ธ์ฃผ๊ณ  ์ž๋™ํ™” ๊ธฐ๋ฒ•์€ ์•ˆ ์•Œ๋ ค์ค˜์„œ ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

I saw that YouTube shorts only showed things like 'How Google Employees Manage Folders' but didn't teach any automation techniques, so I tried making one.


๐Ÿ”— ํŒŒ์ƒ ๋ฒ„์ „

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์„ค์น˜๋„ ์‹ซ๊ฑฐ๋‚˜ ์–ด๋ ค์šด ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. (It is suitable for people who dislike or find it difficult to install interpreter.)

์‚ฌ์‹ค์ƒ ์œ ์ง€๋ณด์ˆ˜ ๋˜์ง€ ์•Š๋Š” ๋ฒ„์ „์ด๋‹ˆ ์‚ฌ์šฉ์„ ๋น„๊ถŒ์žฅ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. (This version is effectively not maintained. We do not recommend using it.)


๐ŸŽจ ์•„์Šคํ‚ค ์•„ํŠธ ์ €์ž‘๊ถŒ (ASCII Art Copyright)

์ฝ”๋“œ ๋‚ด์— ํฌํ•จ๋œ ์•„์Šคํ‚ค ์•„ํŠธ๋Š” ๋ถ•๊ดด 3rd์˜ 'ํ‚ค์•„๋‚˜ ์นด์Šค๋ผ๋‚˜'๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

The ASCII art included in the code is based on 'Kiana Kaslana' from Honkai Impact 3rd.

ํ•ด๋‹น ์บ๋ฆญํ„ฐ ๋ฐ ๋””์ž์ธ์˜ ๊ทผ๋ณธ์ ์ธ ์ €์ž‘๊ถŒ์€ miHoYo Network Technology Co. Ltd. / ็ฑณๅ“ˆๆธธ็ฝ‘็ปœ็ง‘ๆŠ€่‚กไปฝๆœ‰้™ๅ…ฌๅธ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ํŒฌ ์ฐฝ์ž‘์˜ ์ผํ™˜์ด๋ฉฐ, ์ €์ž‘๊ถŒ์ž์˜ ์š”์ฒญ์ด ์žˆ์„ ์‹œ ํ•ด๋‹น ์•„ํŠธ๋Š” ๋ณ€๊ฒฝ ๋˜๋Š” ์‚ญ์ œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

The fundamental copyright for the characters and designs belongs to miHoYo Network Technology Co. Ltd. / ็ฑณๅ“ˆๆธธ็ฝ‘็ปœ็ง‘ๆŠ€่‚กไปฝๆœ‰้™ๅ…ฌๅธ. This project is a fan-made creation, and the art may be modified or removed upon request from the copyright holder.


๐Ÿ› ๏ธ ์ฃผ์š” ๊ธฐ๋Šฅ (Main Features)

  • Make: ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ƒˆ ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ํ•ด๋‹น ๋ฒˆํ˜ธ ์ด์ƒ์˜ ๊ธฐ์กด ํด๋”๋“ค์„ ์ž๋™์œผ๋กœ ๋’ค๋กœ ๋ฐ€์–ด๋ƒ…๋‹ˆ๋‹ค. (Create a new folder at a specific index and automatically shift subsequent folders forward.)

  • Archive (rm): ์ง€์ •ํ•œ ๋ฒˆํ˜ธ์˜ ํด๋”๋ฅผ ํƒ€์ž„์Šคํƒฌํ”„์™€ ํ•จ๊ป˜ ๋ณด๊ด€ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋’ค์— ๋‚จ์€ ํด๋”๋“ค์˜ ๋ฒˆํ˜ธ๋ฅผ ์•ž์œผ๋กœ ๋‹น๊ฒจ ๋นˆ์ž๋ฆฌ๋ฅผ ์ฑ„์›๋‹ˆ๋‹ค. (Archive a folder with a timestamp and shift subsequent folders back to fill the gap.)

  • Fill: ์ค‘๊ฐ„์— ๋ˆ„๋ฝ๋œ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋‹ค๋ฉด 01๋ฒˆ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‹ค์‹œ ์ •๋ ฌํ•˜์—ฌ ๊ตฌ์กฐ๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. (Re-align all folder numbers sequentially starting from 01 to optimize the structure.)

  • Rollback: ์ด์ „ ์ž‘์—…๋“ค์„ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. Rollback ์ž‘์—… ์ž์ฒด์™€ Dry-run์„ ์ œ์™ธํ•œ ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์ด์— ํ•ด๋‹น ๋ฉ๋‹ˆ๋‹ค. (Reverts previous operations. This applies to all functions of the script except for the Rollback operation itself and Dry-run.)

  • Clear: ๋‚จ์•„ ์žˆ๋Š” json ๋กœ๊ทธ๋“ค์„ ์ „๋ถ€ ์ดˆ๊ธฐํ™”์‹œํ‚ต๋‹ˆ๋‹ค. Rollback์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. (All remaining JSON logs are initialized. Rollback is not possible.)

  • Dry-run: --dry-run ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ „, ์ˆ˜ํ–‰๋  ์ž‘์—…์„ ์ฝ˜์†”์—์„œ ๋ฏธ๋ฆฌ ์•ˆ์ „ํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (Safely preview all planned operations in the console using the --dry-run flag before any actual file system changes occur.)

  • Analysis: ํด๋”์˜ ์šฉ๋Ÿ‰๊ณผ ํด๋” ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์˜ ํƒ€์ž…๋“ฑ์„ ํ™•์ธ ๊ฐ€๋Šฅ. ํƒœ๊ทธ๊ฐ€ ์žˆ์„์‹œ ํƒœ๊ทธ๋„ ํ™•์ธ ๊ฐ€๋Šฅ. (Check folder size and file types within the folder. Tags can also be checked if they exist.)

  • Tagging: ํŠน์ • ํด๋”์— ํƒœ๊ทธ๋ฅผ ๋ถ™์—ฌ์„œ ์ดํ›„ folder_manager์˜ ๋ถ„์„ ๊ธฐ๋Šฅ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•จ. (Tag specific folders can be attached to view them later using the folder_manager analysis function.)

  • Archive Path Setting Function: ์•„์นด์ด๋ธŒ ์ €์žฅ ์œ„์น˜๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ. ๊ถŒํ•œ ํ•„์š”์‹œ ๊ฒฝ๊ณ  ํ›„ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ. (Freely change the archive save location. If permissions are required, a warning will be issued and the function will not operate.)

  • Smart Parsing: argparse๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋” ์ „๋ฌธ์ ์ธ CLI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, 01_Name ํ˜•์‹์˜ ๋ช…๋ช… ๊ทœ์น™์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. (Features a professional CLI interface via argparse and supports the 01.Name naming convention.)


๐Ÿ”ง ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ• (Installation & Usage)

ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ : ์ž์ฃผ ์‚ฌ์šฉํ•˜์‹ค๊ฑฐ๋ผ๋ฉด ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๊ฑธ์ง€ ์•Š์„ ๊ฒฝ์šฐ 'fm'์œผ๋กœ ํŒŒ์ผ๋ช…์„ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Recommended for Linux:

mkdir -p ~/.local/bin
ln -s "$(pwd)/folder_manager.py" ~/.local/bin/fm

โ™พ๏ธ ๊ถŒ๊ณ  ์‚ฌํ•ญ (Recommendation)

์ด ํ•ญ๋ชฉ์€ ํ”„๋กœ์ ํŠธ ์ €์ž‘๊ถŒ์ž์˜ ๊ถŒ์žฅ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. (This item is a recommendation from the project copyright holder)

์ด ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ž๋™ํ™”๋ฅผ ํ†ตํ•œ ํšจ์œจ์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ฒด๊ณ„์ ์ธ ์ฐจ๋ณ„์ด๋‚˜ ์ง€์† ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฑด์ „์„ฑ์„ ์˜๋„์ ์œผ๋กœ ๋ฌด์‹œํ•˜๋Š” ํ–‰์œ„ ๋“ฑ '๊ธฐ์ˆ ์  ์•…'์„ ์ถ”๊ตฌํ•˜๋Š” ๋ฐ ์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ ˆ๋Œ€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ธฐ์ˆ ์  ๋ฌด๊ฒฐ์„ฑ์ด ๋ชจ๋‘์—๊ฒŒ ์กด์ค‘๋ฐ›๋Š” ๋””์ง€ํ„ธ ํ™˜๊ฒฝ์„ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋ฅผ ์กด์ค‘ํ•˜๊ณ , ๊ธฐ์ˆ ์„ ์กด์ค‘ํ•˜์‹ญ์‹œ์˜ค.

๊ธฐ์ˆ ์— ์˜๊ด‘๋”ฐ์œ„๊ฐ€ ์•„๋‹Œ ๋ฌด๊ถ๋ฌด์ง„ํ•œ ๊ฐ€๋Šฅ์„ฑ์„.

This software is intended for the advancement of organized efficiency. Its use in the pursuit of 'technical evil'โ€”including but not limited to the systematic discrimination against specific platforms or the intentional disregard for sustainable software healthโ€”is explicitly not recommended. We advocate for a digital environment where the user experience and technical integrity are respected by all.

Respect the user' respect the craft.

Not glory for technology, but boundless possibilities.


๊ธฐ์—ฌ ์•ˆ๋‚ด (Contributing)

์ด ํ”„๋กœ์ ํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์†ํ•˜๋Š” ๋ชจ๋“  ๋ธŒ๋žœ์น˜์— ๊ธฐ์—ฌ(Issue ์ œ๊ธฐ๋‚˜ Pull Request ์ œ์ถœ ๋“ฑ)ํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์˜ ๊ถŒ๋ฆฌ ์–‘๋„ ๋ฐ ๋ผ์ด์„ ์Šค ๋ณ€๊ฒฝ ๋™์˜(CLA) ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

By contributing to any branch within this project repository (including but not limited to Issues or Pull Requests), you are deemed to have agreed to the project's Contributor License Agreement (CLA).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

folder_manager_py-0.3.4.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

folder_manager_py-0.3.4-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file folder_manager_py-0.3.4.tar.gz.

File metadata

  • Download URL: folder_manager_py-0.3.4.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for folder_manager_py-0.3.4.tar.gz
Algorithm Hash digest
SHA256 c74b5d40a16619dd9749a1159dfdb2fb3caf20e21d2f193553b2bfa8491aec19
MD5 ae74413ae22bdfe6aea56a872b0ab8b8
BLAKE2b-256 6eb7869310e45188cbeb47bd2e4a8957a241a0a1d71e31c983e5e95e5cab5d03

See more details on using hashes here.

File details

Details for the file folder_manager_py-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for folder_manager_py-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d0fa04d4e9307c7880226818b6811c391bf2acf6f4298eb0f2dea309f26693fb
MD5 1dc6a3dde5d533d259ce6e07d724845f
BLAKE2b-256 4ee9ae8ac5d7bae96639872c544c272d979db3a2708e2e392e0b565c0a3ccb8d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page