• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 05:08
CET 11:08
KST 19:08
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12
Community News
SC2 All-Star Invitational: Jan 17-1811Weekly Cups (Dec 22-28): Classic & MaxPax win, Percival surprises1Weekly Cups (Dec 15-21): Classic wins big, MaxPax & Clem take weeklies3ComeBackTV's documentary on Byun's Career !11Weekly Cups (Dec 8-14): MaxPax, Clem, Cure win4
StarCraft 2
General
SC2 All-Star Invitational: Jan 17-18 Weekly Cups (Dec 22-28): Classic & MaxPax win, Percival surprises Starcraft 2 Zerg Coach Chinese SC2 server to reopen; live all-star event in Hangzhou ComeBackTV's documentary on Byun's Career !
Tourneys
OSC Season 13 World Championship $5,000+ WardiTV 2025 Championship $100 Prize Pool - Winter Warp Gate Masters Showdow Sparkling Tuna Cup - Weekly Open Tournament Winter Warp Gate Amateur Showdown #1
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 506 Warp Zone Mutation # 505 Rise From Ashes Mutation # 504 Retribution Mutation # 503 Fowl Play
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ What are former legends up to these days? BW General Discussion How soO Began His ProGaming Dreams Klaucher discontinued / in-game color settings
Tourneys
[Megathread] Daily Proleagues [BSL21] LB SemiFinals - Saturday 21:00 CET [BSL21] WB & LB Finals - Sunday 21:00 CET Small VOD Thread 2.0
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Game Theory for Starcraft Current Meta
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Mechabellum Beyond All Reason Path of Exile
Dota 2
organización de música organización de música Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas Survivor II: The Amazon Sengoku Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread The Games Industry And ATVI Russo-Ukrainian War Thread 12 Days of Starcraft Things Aren’t Peaceful in Palestine
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece
Sports
2024 - 2026 Football Thread Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List TL+ Announced Where to ask questions and add stream?
Blogs
National Diversity: A Challe…
TrAiDoS
I decided to write a webnov…
DjKniteX
James Bond movies ranking - pa…
Topin
Saturation point
Uldridge
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1529 users

organización de música

Forum Index > Dota 2 General
Post a Reply
Luis50
Profile Joined December 2025
4 Posts
Last Edited: 2025-12-30 08:22:02
1 hour ago
#1
Organización de Archivos de Audio por Artista
A continuación te explico paso a paso cómo lograr lo que pides:

Dentro de cada carpeta de artista coloca los archivos de audio (.mp3), crea playlists por mí y crea una carpeta con 200 carpetas vacías.


Requisitos previos

1. Tener todos los archivos .mp3 en una carpeta principal (por ejemplo: Musica).
2. Los archivos deben contener la etiqueta “Artista” en sus metadatos (puedes verificarlo con reproductores como VLC, iTunes, etc.). Si falta la etiqueta, el archivo irá a una carpeta Artista_Desconocido.


🔹 PASO 1 — Organizar los .mp3 por carpeta de artista
Puedes hacerlo de forma automática con un script. Aquí te doy opciones para Windows (PowerShell), macOS/Linux (Bash) y un script en Python (funciona en cualquier SO).

📌 Opción A – PowerShell (Windows)

1. Abre PowerShell como administrador.
2. Copia y pega el siguiente código (cambia C:\Musica por tu ruta real):

powershellDownloadCopy code$sourceFolder = "C:\Musica"
$files = Get-ChildItem -Path $sourceFolder -Filter *.mp3 -Recurse

foreach ($file in $files) {
# Obtener el nombre del artista de los metadatos
$artist = (Get-ItemProperty -Path $file.FullName -Name *).Artist
if (-not $artist) { $artist = "Artista_Desconocido" }

# Sanitizar el nombre (quitar caracteres inválidos)
$cleanArtist = $artist -replace '[\\/*?:"<>|]', ''

$destFolder = Join-Path $sourceFolder $cleanArtist
New-Item -ItemType Directory -Path $destFolder -Force | Out-Null

Move-Item -Path $file.FullName -Destination $destFolder -Force
}

Write-Host "¡Organización completada! Todos los MP3 están en carpetas por artista."
Ejecuta el script. Al finalizar, cada artista tendrá su propia carpeta dentro de C:\Musica con sus .mp3.

📌 Opción B – Bash (macOS / Linux)

1. Abre Terminal.
2. Copia y pega este script (cambia /ruta/Musica por tu ruta):

bashDownloadCopy code#!/bin/bash
SOURCE="/ruta/Musica"

find "$SOURCE" -type f -name "*.mp3" | while read mp3; do
# Extraer el artista con exiftool (instálalo si no lo tienes: sudo apt install libimage-exiftool-perl)
ARTIST=$(exiftool -Artist "$mp3" | awk -F': ' '{print $2}')
[[ -z "$ARTIST" ]] && ARTIST="Artista_Desconocido"

# Sanitizar nombre
CLEAN_ARTIST=$(echo "$ARTIST" | sed 's/[\\/*?:"<>|]//g')

DEST="$SOURCE/$CLEAN_ARTIST"
mkdir -p "$DEST"
mv "$mp3" "$DEST/"
done

echo "✅ ¡Archivos organizados por artista!"

Nota: Si no tienes exiftool, instálalo:

* Debian/Ubuntu: sudo apt install libimage-exiftool-perl
* macOS (Homebrew): brew install exiftool


Ejecuta el script y listo.

📌 Opción C – Script en Python (funciona en cualquier sistema)

1. Instala la librería mutagen (para leer etiquetas MP3):

bashDownloadCopy codepip install mutagen

1. Guarda el siguiente código en un archivo llamado organizar_music.py:

pythonDownloadCopy codeimport os
import shutil
from mutagen.easyid3 import EasyID3
import re

def sanitize(name):
"""Elimina caracteres no permitidos en nombres de carpeta."""
return re.sub(r'[\\/*?:"<>|]', "", name)

source_dir = input("Ingresa la ruta de la carpeta con los MP3: ").strip()

for filename in os.listdir(source_dir):
if filename.lower().endswith('.mp3'):
filepath = os.path.join(source_dir, filename)
try:
audio = EasyID3(filepath)
artist = audio.get('artist', ['Artista_Desconocido'])[0]
except:
artist = "Artista_Desconocido"

artist_clean = sanitize(artist)
target_dir = os.path.join(source_dir, artist_clean)

os.makedirs(target_dir, exist_ok=True)
shutil.move(filepath, os.path.join(target_dir, filename))
print(f"Moved '{filename}' → '{artist_clean}'")

print("\n✅ ¡Todos los MP3 están organizados por artista!")

1. Ejecútalo:

bashDownloadCopy codepython organizar_music.py
Ingresa la ruta (ej: /home/usuario/Musica) y presiona Enter.
Resultado: Dentro de Musica tendrás una carpeta por cada artista, y todos sus .mp3 dentro.

🔹 PASO 2 — Crear playlists (.m3u) para cada artista
Una playlist .m3u lista todos los archivos .mp3 de un artista. A continuación, scripts para generar una playlist por cada carpeta de artista.

📌 PowerShell (Windows)
Ejecuta este código después del Paso 1:
powershellDownloadCopy code$artistsFolder = "C:\Musica"
$artists = Get-ChildItem -Path $artistsFolder -Directory

foreach ($artist in $artists) {
$playlistPath = Join-Path $artist.FullName "$($artist.Name).m3u"
Get-ChildItem -Path $artist.FullName -Filter *.mp3 |
ForEach-Object { $_.Name } |
Out-File -FilePath $playlistPath -Encoding UTF8
}
Write-Host "✅ Playlists (.m3u) creadas para cada artista."
Cada carpeta de artista tendrá ahora un archivo NombreArtista.m3u que reproduce toda su música.

📌 Bash (macOS / Linux)
bashDownloadCopy codeSOURCE="/ruta/Musica"

for artist_dir in "$SOURCE"/*/; do
artist=$(basename "$artist_dir")
playlist="$artist_dir/${artist}.m3u"

find "$artist_dir" -type f -name "*.mp3" -printf "%f\n" > "$playlist"
done

echo "✅ Playlists (.m3u) generadas."

📌 Python (mismo script anterior, añade esto al final)
Añade después del print("\n✅ ¡Todos los MP3...") en el script de Python:
pythonDownloadCopy code# Crear playlists .m3u para cada artista
for artist_name in os.listdir(source_dir):
artist_path = os.path.join(source_dir, artist_name)
if os.path.isdir(artist_path):
playlist_file = os.path.join(artist_path, f"{artist_name}.m3u")
with open(playlist_file, 'w', encoding='utf-8') as pl:
for mp3 in os.listdir(artist_path):
if mp3.lower().endswith('.mp3'):
pl.write(f"{mp3}\n")
print("✅ Playlists (.m3u) creadas para cada artista.")
Ejecuta el script de nuevo (o solo esta parte) y se generarán las playlists.
📌 ¿Cómo usar la playlist?
Abre el archivo .m3u con cualquier reproductor (VLC, Winamp, iTunes, Spotify, etc.) y se reproducirán todos los temas del artista.

🔹 PASO 3 — Crear una carpeta con 200 carpetas vacías
📌 Windows (PowerShell)
powershellDownloadCopy codeNew-Item -ItemType Directory -Path "C:\200_Carpetas_Vacias" -Force
1..200 | ForEach-Object {
$folderName = "carpeta_$_.ToString('000')"
New-Item -ItemType Directory -Path "C:\200_Carpetas_Vacias\$folderName" -Force | Out-Null
}
Write-Host "✅ 200 carpetas vacías creadas en C:\200_Carpetas_Vacias"
📌 macOS / Linux (Bash)
bashDownloadCopy codemkdir -p 200_Carpetas_Vacias
for i in {1..200}; do
mkdir -p "200_Carpetas_Vacias/carpeta_$(printf "%03d" $i)"
done
echo "✅ 200 carpetas vacías creadas en ./200_Carpetas_Vacias"
📌 Python (añade al final del script anterior)
pythonDownloadCopy codeempty_folder = "200_Carpetas_Vacias"
os.makedirs(empty_folder, exist_ok=True)

for i in range(1, 201):
folder_name = os.path.join(empty_folder, f"carpeta_{i:03d}")
os.makedirs(folder_name, exist_ok=True)

print("✅ 200 carpetas vacías creadas en './200_Carpetas_Vacias'")

✅ RESUMEN FINAL
PasoQué se haceResultado1Organizar .mp3 por artistaCada artista tiene su carpeta con sus archivos2Crear playlists .m3uDentro de cada carpeta de artista hay un archivo Artista.m3u que reproduce toda su música3Crear 200 carpetas vacíasUna carpeta llamada 200_Carpetas_Vacias que contiene 200 sub‑carpetas vacías (carpeta_001 … carpeta_200)
¡Listo! Tu biblioteca de música está perfectamente organizada. 🎧
Please log in or register to reply.
Live Events Refresh
Next event in 1h 52m
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
Jaedong 688
Rush 444
Mong 301
PianO 97
Hyun 89
Pusan 81
Sacsri 40
NaDa 30
Barracks 26
soO 26
[ Show more ]
ToSsGirL 25
sorry 23
Noble 0
Dota 2
NeuroSwarm302
League of Legends
C9.Mang0547
JimRising 504
rGuardiaN85
Counter-Strike
olofmeister1574
shoxiejesuss621
zeus369
allub223
Other Games
summit1g9282
ceh9362
Happy319
Pyrionflax181
Fuzer 172
KnowMe52
Organizations
Other Games
gamesdonequick674
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• StrangeGG 68
• LUISG 37
• naamasc227
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Upcoming Events
OSC
1h 52m
Solar vs MaxPax
ByuN vs Krystianer
Spirit vs TBD
OSC
3 days
Korean StarCraft League
3 days
OSC
4 days
IPSL
4 days
Dewalt vs Bonyth
OSC
4 days
OSC
5 days
uThermal 2v2 Circuit
5 days
Replay Cast
5 days
Patches Events
6 days
Liquipedia Results

Completed

CSL Season 19: Qualifier 2
WardiTV 2025
META Madness #9

Ongoing

C-Race Season 1
IPSL Winter 2025-26
BSL Season 21
Slon Tour Season 2
CSL 2025 WINTER (S19)
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025

Upcoming

Escore Tournament S1: W2
Escore Tournament S1: W3
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Thunderfire SC2 All-star 2025
Big Gabe Cup #3
OSC Championship Season 13
Nations Cup 2026
Underdog Cup #3
NA Kuram Kup
ESL Pro League Season 23
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.