elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / almacenar el nombre de un directorio en una variable en: 15 Julio 2015, 00:38 am
buenas a todos

necesito hacer un fragmento de código en batch que busque los nombres de las carpetas ( las subcarpetas que contengan *_C_*) y que almacene el nombre en una variable para poder trabajar con ella, necesito  almacenar el nombre  para  poder modificarlo en caso de que  tenga caracteres especiales  y  anadir ese nombre a cada fichero de la subcarpeta.

después de pasarme un buen rato intentando hacerlo sin éxito al final me he quedado sin ideas, lo estoy intentando con un for, pero  ni modo, ¿a alguien se le ocurre algo?

mi código:

Código
  1. MKDIR "D:\Documents\testbatch\temp"  
  2. SET TEMPDossier="D:\Documents\testbatch\temp"  
  3. :Check  
  4. CD /D D:\Documents\testbatch  
  5. FOR /D %%x in (*_C_* ) do (  
  6. CALL :fct_log_Texte INFO  " dossier disponible %%x"  
  7. setlocal enabledelayedexpansion  
  8. SET VarDossier= %%x  
  9. ECHO !VarDossier!  
  10. SET rename=!VarDossier!  
  11. echo %rename%  
  12. :: Quote the variable and remove the !  
  13. Set rename="%rename:!=%"
  14. Setlocal EnableDelayedExpansion
  15. For %%J In (^| ^& ^< ^> ^^ + ^( ^) \ / . @ # $ { } [ ] ' ; : , ? ` ^%% ^") Do (Set rename=!rename:%%J=!)
  16. FOR /F %%i in ('dir /b " D:\Documents\testbatch\%VarDossier%\*"') do (
  17. MOVE /Y " D:\Documents\testbatch\%VarDossier%\%%i" "%TEMPDossier%\%rename%_%%i"
  18. dir /b /a " D:\Documents\testbatch\%VarDossier%\*" | >nul findstr "^" && (call :DirectoryEmpty) || (call :Check)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines