Perfecto gracias por las observaciones y los consejos, te comento que ya funciono el programa
, aunque me surgió otro problema, hasta abajo lo comento. Esto fue lo que hice para que funcionara:
Este es el código final, aunque con el último mensaje que me enviaste lo voy a reducir
@echo off
title Mover Archivo
cd L:\Juegos 2
:repetir
SetLocal EnableDelayedExpansion
set/p "nombre=Introduzca nombre:"
set/p "fecha=Introduzca fecha:"
md "!nombre!"
cd !nombre!
md "!fecha! - !nombre!"
cd !fecha!" - "!nombre!
md "MSX MSX"
cd MSX MSX
md CAS
move "L:\J Pednitentes\SISTEMAS SIN ORGANIZAR\PC\MSX\MSX\Games\[CAS]\!nombre!*.cas" "L:\Juegos 2\!nombre!\!fecha! - !nombre!\MSX MSX\CAS"
pause
goto repetir
exit
Básicamente, remplace todos los
% por
! y ahora si me detectaba el contenido de variables, y el
? que usaba en
\!nombre!?.cas" para que detectara los que se repitieran, no me funciono pero lo remplace por el
* y ahora si
Sobre lo que comentas en la línea que se modifico en el último mensaje, si me di cuenta cuando vi que estaba creando como 4 carpetas xD pero ya esta arreglado.
Tomare tu recomendación para reducir pasos
, Sobre tu posdata, lo que pasa que en la ruta de origen si son dos carpetas MSX, ya que cuando descargue la colección así venia, porque en la raíz estaba la colección de carpetas por compañia (en este caso MSX) y dentro de ella estaban los diferentes sistemas de la compañia (MSX y MSX2).
En la carpeta destino, si lo estoy poniendo como "MSX MSX" para indicar compañia y sistema.
Ahora bien, se puede ver en el último código que publique que puse un
goto, lo que pasa es que quiero que se repita el programa para no tener que estarlo abriendo cada que finalice el proceso, pero solo funciona una vez, cuando repite me marca un error ("No se pueden mover varios archivos a un solo archivo"). Siento que hay un problema con las variables, ¿habrá forma de limpiarlas después de la etiqueta del goto?
Y ya mencionado esto, si es cierto lo que dices, batch por lo que veo es muy limitado, el problema es que ocupaba esta aplicación "urgentemente" (acomodar mas de 100,000 rooms manualmente no es nada bonito
te quita demasiado tiempo) y pues preguntando en un grupo de FaceBook me recomendaron que, para aprender algo rápido usara batch, y me parecio buena idea ya que tenia poquitos conocimientos de MS-DOS.
Por el momento solo quiero que esta aplicacion pueda repetir el proceso, mas adelante si necesito ahorrar mas tiempo estudiare
PowerShell como me recominedas. Ya habia pensado hacerlo en C# pero he llevado casi nada de C xD
Agradezco mucho tu ayuda, espero se pueda solucionar el último problema. Saludos