Script estúpido en Batch

Hola a todos!
Estoy intentado hacerme un script en batch para que me renombre todos los archivos de mis series como a mi me gustan.

El algoritmo creo es este:
1º Recojo el nombre que quiero dar.
2º Suponiendo que todos los archivos y subtitulos están en la misma carpeta, hago un bucle desde 1 hasta el ultimo elemento.
3º Añado el valor de la variable que me cambia al titulo que quiero aplicar para que me quede de la forma: Californication - S01E01 hasta Californicacion - S01E12 siendo el 12 el ultimo capitulo.

Estoy buscando tutos en internet pero no encuentro funciones que me consigan dar en como hacer esto... Manos o menos lo he empezado y he escrito esto:
echo Cambia el nombre de las series de forma rapida.
set /p nombre=
FOR /L %%i IN (1, 1, dir *.mkv) DO REN %nombre%+%i%
echo Todo correcto


Es una tonteria, con java sabria hacerlo pero prefiero hacerlo en batch y aprende un poco.
Gracias :)

nu_kru me ha ofrecido esta solucion pero no me sirve ya que no es Batch sino Shell xD
for i in $(ls *); do
mv $i "nuevonombre_"$i;
done
(mensaje borrado)
Pese a que sea Off Topic, me come la curiosidad saber la diferencia entre Bash y Shell Script. :-?

Porque añado, lo único que creo que se diferencia es en que Bash no hay arrays creo recordar.
MDman escribió:Pese a que sea Off Topic, me come la curiosidad saber la diferencia entre Bash y Shell Script. :-?

Porque añado, lo único que creo que se diferencia es en que Bash no hay arrays creo recordar.


Sin tener mucha idea al respecto, shell script es un nombre genérico, engloba todos los scripts hechos para la shell de un sistema operativo, mientras que bash es una shell, y un bash script es un shell script para bash. Creo, que igual no ^^

Por cierto, suerte al autor del hilo, batch da algo de repelús por estos lares :P
En bash no te puedo ayudar, ya que se sólo cosas muy básicas, pero en este caso (a no ser que sea por aprender) veo más fácil usar un renombrador estilo pyrenamer o similar.
MDman escribió:Pese a que sea Off Topic, me come la curiosidad saber la diferencia entre Bash y Shell Script. :-?

Porque añado, lo único que creo que se diferencia es en que Bash no hay arrays creo recordar.


Suponiendo que te refieres a esto ya que no queda del todo claro en tu redacción:

$export Bourne shell=sh
$echo http://en.wikipedia.org/wiki/GNU_Bash
wikipedia escribió:The Bash command syntax is a superset of the Bourne shell command syntax. The vast majority of Bourne shell scripts can be executed by Bash without modification, with the exception of Bourne shell scripts stumbling into fringe syntax behavior interpreted differently in Bash (nested parentheses broke under Bash, for example, in the Mozilla startup script some years back), or attempting to run a system command matching a newer bash builtin, etc.

xDD

Bash o Bourne-again shell es el intérprete de comandos desarrollado por el proyecto GNU y como se puede leer en la wikipedia es bastante compatible con sh y además añade funcionalidades propias e ideas tomadas de ksh y csh.

PD: lo siento, no tengo ni idea de batch.

Saludos:).
Yo lo enfocaba desde el punto de vista del script:
#!/bin/sh

y

#!/bin/bash
En mi caso:

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2008-06-16 13:48 sh -> bash*

Lo que indica que /bin/sh es un link a bash, pero la idea es usar solamente comandos propios de Bourne Shell (y que son compatibles con la mayoría de shells para Unix) en los scripts cuya linea del shebang es #!/bin/sh ya que el link puede cambiar según las preferencias del usuario.
[\offtopic]

Saludos:).
Nadie sabe? Si es una tonteria!
Creo que lo que estás pidiendo son ficheros por lotes/batch y eso no es software libre ya que "suelen" correr por windows, así que deberías dirigirte al foro de general/pc que ahí sabrán iluminarte mejor, a no ser que te vayas a instalar un script via cygwin o similares..

Pero bueno para echarte un cable, lo que pides lo puedes hacer facílmente con BRU
Seimour escribió:Creo que lo que estás pidiendo son ficheros por lotes/batch y eso no es software libre ya que "suelen" correr por windows, así que deberías dirigirte al foro de general/pc que ahí sabrán iluminarte mejor, a no ser que te vayas a instalar un script via cygwin o similares..

Pero bueno para echarte un cable, lo que pides lo puedes hacer facílmente con BRU


Hasta donde yo sé, estoy liberando el codigo del Script, que mas da en qué lo programe? Como si lo quiero hacer en C++ y solo para windows. Notepad++ es SL y solo está exclusivamente para windows.
Creo que no me has entendido. Lo que tu estás pidiendo es cómo se hace un script/fichero por lotes para que corra en windows usando comando de windows, no de linux/unix por lo que entiendo que la gente de este foro no te va a poder ayudar por no funcionar de igual modo los mandatos/comandos de línea de comandos en win que en *nix, por poner un ejemplo ren no existe en *nix y se hace con move. copy es cp, etc. En cualquier caso con el programa que te dejé en el anterior mensaje puedes hacer lo que pides bastante fácil, pero allá tú.
Seimour escribió:Creo que no me has entendido. Lo que tu estás pidiendo es cómo se hace un script/fichero por lotes para que corra en windows usando comando de windows, no de linux/unix por lo que entiendo que la gente de este foro no te va a poder ayudar por no funcionar de igual modo los mandatos/comandos de línea de comandos en win que en *nix, por poner un ejemplo ren no existe en *nix y se hace con move. copy es cp, etc. En cualquier caso con el programa que te dejé en el anterior mensaje puedes hacer lo que pides bastante fácil, pero allá tú.


Si lo sé y te doy las gracias por ello pero me hacia ilu hacerme mi propio script xD
Donato escribió:
Seimour escribió:Creo que no me has entendido. Lo que tu estás pidiendo es cómo se hace un script/fichero por lotes para que corra en windows usando comando de windows, no de linux/unix por lo que entiendo que la gente de este foro no te va a poder ayudar por no funcionar de igual modo los mandatos/comandos de línea de comandos en win que en *nix, por poner un ejemplo ren no existe en *nix y se hace con move. copy es cp, etc. En cualquier caso con el programa que te dejé en el anterior mensaje puedes hacer lo que pides bastante fácil, pero allá tú.


Si lo sé y te doy las gracias por ello pero me hacia ilu hacerme mi propio script xD


Vale. Si no te quieres liar mucho, ese programa que te mandé está disponible también en modo no-gráfico, así que si quieres puedes usarlo para montarte tus scripts. Bajátelo de aquí. Te viene con un manual de uso (en inglés).

Salu2!
13 respuestas