{"id":19272080,"url":"https://github.com/shockz-offsec/filestoroot","last_synced_at":"2026-06-11T01:31:48.352Z","repository":{"id":159441000,"uuid":"343824890","full_name":"shockz-offsec/FilesToRoot","owner":"shockz-offsec","description":"Este script combinado con el explorador de Windows te permite que mediante una opción del menú contextual de un directorio puedas extraer todos los archivos de video o subtítulos de tus subdirectorios y moverlos al directorio desde donde ejecutaste el script.","archived":false,"fork":false,"pushed_at":"2022-07-28T23:14:55.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T20:31:33.353Z","etag":null,"topics":["explorer-filemanager","file-selector"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shockz-offsec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-02T15:42:09.000Z","updated_at":"2025-02-22T17:32:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"413beb57-8096-4750-a629-48fee88e2271","html_url":"https://github.com/shockz-offsec/FilesToRoot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shockz-offsec/FilesToRoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockz-offsec%2FFilesToRoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockz-offsec%2FFilesToRoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockz-offsec%2FFilesToRoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockz-offsec%2FFilesToRoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shockz-offsec","download_url":"https://codeload.github.com/shockz-offsec/FilesToRoot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockz-offsec%2FFilesToRoot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34178819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["explorer-filemanager","file-selector"],"created_at":"2024-11-09T20:35:21.222Z","updated_at":"2026-06-11T01:31:48.328Z","avatar_url":"https://github.com/shockz-offsec.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FilesToRoot\nEste script combinado con el explorador de Windows te permite que mediante una opción del menú contextual de un directorio puedas extraer todos los archivos de video o subtítulos de tus subdirectorios y moverlos al directorio desde donde ejecutaste el script.\n\n# Requisitos\n\n* [Python3](https://www.python.org/downloads/).\n* Tkinter Module\n\n# Funcionamiento\n\nEl script a raiz de un directorio dado (directorio raiz), recorre todos sus subdirectorios, si existe un archivo cuya extensión sea:\n* .rar\n* .zip\n* .mp4\n* .mkv\n* .srt\n\nEn mi caso son esos, editando el codigo puedes expresar los que te interesen, ya que esta todo comentado en el script.\n\nMueve ese archivo al directorio raíz, si dicha acción no fuera posible, quizás la propiedad ```ReadOnly``` está activa por lo que se elimina. Posteriormente se borran los directorios, pero si tamaño del directorio es superior a 300MB no se borrará dado que interpretará que algún archivo no se movió satisfactoriamente.\n\nUna pequeña demostración:\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"http://g.recordit.co/EFqpGmOTdc.gif\"\u003e\u003c/p\u003e\n\nAnte cualquier cambio en el código, eres libre de hacerlo.\n\n\n# Añadir al menú contextual y ejecutarlo con el explorador de Windows\n\n1. Abrir el menú de ejecutar con el atajo de teclado ```Windows+R``` y tecleando en él ```regedit.exe```.\n2. Una vez tengamos abierto el editor de registro, nos desplazamos hasta la siguiente ruta:\n    ```HKEY_CLASSES_ROOT\\Directory\\Background\\shell```\n3. Una vez aquí, pulsamos con el botón derecho sobre «shell» y en el menú contextual que nos aparece seleccionaremos ```Nuevo \u003e Clave```. Le damos el nombre que queramos en mi caso ```FilesToRoot```\n4. Ahora, sobre Firefox volvemos a hacer clic con el botón derecho y a seleccionar «Nuevo \u003e Clave«. A esta nueva clave la llamaremos «command» y, por defecto, tendrá un nuevo valor Predeterminado. Hacemos doble clic sobre él y, en esta ocasión, introducimos el comando que se ejecutará, se debe poner esto ```C\\ruta\\a\\python.exe \"C\\Ruta\\a\\FilesToRoot.py\" \"%V\"```\n\nUn ejemplo del comando anterior sería: ```C:\\Users\\Jorge\\AppData\\Local\\Programs\\Python\\Python39\\python.exe \"C:\\Scripts\\Python Scripts\\FilesToRoot\\FilesToRoot.py\" \"%V\"```\n\n**Se debe mantener el formato del comando, el intérprete (python) sin comillas, el script entre comillas dobles seguido de ```\"%V\"```**\n\nEl resultado de los pasos anteriores deberia quedar tal que así:\n\u003cp align=\"center\"\u003e\u003cimg src = \"https://i.ibb.co/NCGTzMC/filestoroot.png\"\u003e\u003c/p\u003e\n\nEstos cambios se realizan instantáneamente, así que tan pronto lo hagamos tendremos ya la opción disponible, clicando con el botón derecho en cualquier lugar a una carpeta.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshockz-offsec%2Ffilestoroot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshockz-offsec%2Ffilestoroot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshockz-offsec%2Ffilestoroot/lists"}