Título: almacenar el nombre de un directorio en una variable Publicado por: vikyBatch 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 Título: Re: almacenar el nombre de un directorio en una variable Publicado por: Eleкtro en 15 Julio 2015, 01:20 am 1. Usa las etiquetas para insertar código, lee mi firma.
2. ¿Qué problema tienes exactamente con el código que has mostrado?, intenta ser específico. 3. ¿Qué hay de los métodos fct_log_Texte y DirectoryEmpty?, no aparecen en el código. 4. Por defecto Windows no permite utilizar ciertos caracteres especiales al nombrar directorios/archivos, puedes descartar muchos caracteres innecesarios del For para aumentar el rendimiento. 5. El último For del código que has mostrado, tiene la agrupación abierta, por lo que dará error de sintaxis. Prueba de la siguiente manera: Código: @Echo OFF & Setlocal EnableDelayedExpansion Saludos! Título: Re: almacenar el nombre de un directorio en una variable Publicado por: vikyBatch en 15 Julio 2015, 08:02 am muchas gracias por respoder , en realidad no está todo el código.
Aclaraciones: fct_log_Texte y DirectoryEmpty son 2 funciones, el primero nos permite crear un log y el segundo cunao hacer alggo específico cuando la carpeta está vacia. zipper&tom, es otra funcion que hace otra cosa. mi intención es, desde un carpeta concreta buscar todas lass subcarpetas que contenga una *_C_* , vérificar que no tengan caracteres speciales como nombre de subcarpeta, en el caso de contener algún caracter extraño , suprimirlo los caracteres especiales del nombre de supcartepa, luego utlizar ese nombre (modificado o no ) y añadir el nombre a todos sus ficheros. cuando las variables están en duro funciona, pero cuando quiero almacenar el valor en una variable desde un for, no puedo, mis variables "set VarDossier=%%x" y " SET rename=%VarDossier%" están vacias Título: Re: almacenar el nombre de un directorio en una variable Publicado por: Eleкtro en 17 Julio 2015, 21:52 pm cuando quiero almacenar el valor en una variable desde un for, no puedo, mis variables "set VarDossier=%%x" y " SET rename=%VarDossier%" están vacias Dentro del bloque de un For, debes hacer uso de la expansiónd e variables: Código: Set "rename=!VarDossier!" O en su defecto, con el comando Call: Código: Call Set "rename=%%VarDossier%%" Slaudos Título: Re: almacenar el nombre de un directorio en una variable Publicado por: vikyBatch en 21 Julio 2015, 00:56 am Muchas gracias por los consejos voy a probar.
|