
Me topé con la pregunta 217394 que explica cómo copiar archivos ordenados alfabéticamente en un solo archivo. Al intentar implementar el comando yo mismo, apareció el siguiente mensaje de error: El sistema no puede encontrar el archivo especificado.
El comando que estoy intentando ejecutar está aquí:
para /f %i en ('dir /ad /on /b O:\OrdersExport\Order*.txt') haga @type %i >> C:\Users\Admin\Documents\OrderImport.txt
El error no aparece si busqué primero la carpeta en cuestión:
C:\>O: C:\>cd Importación de pedidos
Simplemente quiero copiar una línea desde el destino a ese único archivo.
Por cierto, si es importante, O: es una carpeta asignada a través de la red.
Respuesta1
El dir
comando enumera solo los nombres de archivos. Entonces %i
la variable está llena de rutas relativas. Si el comando no se ejecuta desde el directorio en cuestión, utilice %~fi
para expandir la ruta relativa a la ruta absoluta.
for /f "tokens=*" %i in ('dir /a-d /o-n /b "O:\OrdersExport\Order*.txt"') do (
@type "%~fi" >> "C:\Users\Admin\Documents\OrderImport.txt"
)
tokens=*
trata con espacios en los nombres de archivos, por lo que%i
siempre es la línea completa de ladir
salida.