programacion programa por para lotes lenguaje ejemplos ejecutar crear comandos batch bat avanzados avanzada archivos archivo batch-file

batch file - programa - Batch script para borrar archivos



lenguaje batch (5)

Tengo un script por lotes de la siguiente manera.

D: del "D:/TEST/TEST1/Archive/*.TSV" del "D:/TEST/TEST1/Archive/*.TXT" del "D:/TEST/TEST2/Archive/*.TSV" del "D:/TEST/TEST2/Archive/*.TXT" del "D:/TEST/TEST 100%/Archive/*.TSV" del "D:/TEST/TEST 100%/Archive/*.TXT"

El código anterior borra todos los archivos ".txt" y ".tsv" de todas las carpetas excepto de la carpeta TEST 100% . Para eliminar los archivos de TEST 100% recibo el error porque The Path could not be found . Supongo que el símbolo% en el nombre de la carpeta crea el problema. ¿Alguien puede guiarme para resolver el problema y eliminar los archivos de la carpeta TEST 100% ?


Digamos que guardaste tu software en tu escritorio.
si desea eliminar una carpeta completa como un programa de desinstalación, puede usar esto.

cd C:/Users/User/Detsktop/ rd /s /q SOFTWARE

esto eliminará toda la carpeta llamada software y todos sus archivos y subcarpetas

Asegúrese de eliminar la carpeta correcta Causa Esto no tiene una opción Sí / No


Hay varias formas de hacer las cosas en lote, así que si escapas con un doble porcentaje %% no te funciona, entonces podrías intentar algo como esto:

set olddir=%CD% cd /d "path of folder" del "file name/ or *.txt etc..." cd /d "%olddir%"

Cómo funciona esto:

set olddir=%CD% establece la variable "olddir" o cualquier otro nombre de variable que desee en el directorio desde el que se inició su archivo por lotes.

cd /d "path of folder" cambia el directorio actual que el lote estará mirando. Guarde las cotizaciones y cambie la ruta de la carpeta a la ruta que desee.

del "file name/ or *.txt etc..." eliminará el archivo en el directorio actual que está mirando su lote, simplemente no agregue una ruta de directorio antes del nombre del archivo y solo tenga el nombre completo del archivo o, para elimine varios archivos con la misma extensión con *.txt o la extensión que necesite.

cd /d "%olddir%" toma la variable guardada con su ruta anterior y vuelve al directorio con el que comenzó el lote, no es importante si no desea que el lote vuelva a su ruta de directorio anterior, y como se indica antes de que el nombre de la variable pueda cambiarse a lo que desee cambiando la línea set olddir=%CD% line .


Necesitas escapar del% con otro ...

del "D:/TEST/TEST 100%%/Archive*.TXT"


Tenga en cuenta que los archivos que necesita eliminar tienen una extensión txt y se encuentra en la ubicación D:/My Folder , luego puede usar el código siguiente dentro del archivo bat.

cd "D:/My Folder" DEL *.txt


en el código del lote su ruta no debe contener ningún espacio así que los pls cambian el nombre de su carpeta de "TEST 100%" a "TEST_100%" y su nuevo código será del "D: / TEST / TEST_100% / Archive * .TXT"

espero que esto resuelva tu problema