PDA

Ver la Versión Completa : [Sintaxis] Ejemplo guardar lista de archivos


luisbago
12 de mayo de 2022, 09:23
Alguien tiene un código para poner el listado de archivos que contiene un directorio, en un archivo de texto?

Por ejemplo el directorio "New Folder" contiene 20 archivos idx y se guarde los nombre de los archivos
en el archivos "Listado.txt"

en rmcobol 7, gracias

Joseg
12 de mayo de 2022, 11:31
CommandLine

DIR \New Folder\*.IDX >> Listado.txt

JCantero
12 de mayo de 2022, 18:22
CommandLine

DIR \New Folder\*.IDX >> Listado.txt


Yo lo hago así: ( con /B y en este caso el directorio a listar entre comillas para directorios que contengasn espacios)



DIR /B "\New Folder\*.IDX" >> Listado.txt



Ya que, así no hay que ir buscando los ficheros en el detalle, cada línea, un fichero.

luisbago
12 de mayo de 2022, 20:37
1 WK-OPERACION.
02 pic x(19) value 'DIR *.IDX /B /l >> '.
02 arch-op pic x(8).

01 temp value 'TEMP'.
02 HH pic x(4).
02 MI pic 9(2).
02 SS pic 9(2).

ACCEPT WK-HORA FROM TIME.
MOVE WK-MI TO MI.
MOVE WK-SS TO SS.
MOVE TEMP TO TEMP1.
MOVE 'TMP1' TO TEMP1(1:4).
MOVE TEMP1 TO ARCH-OP.

call 'system' USING wk-operacion.


no, no funciona, no logra crear el archivo con tmp con minutos y segundos en su nombre, que es algo trivial realmente.

No se crea el archvio, en rmcbol 5 si funciona el codigo, que paso?

JCantero
13 de mayo de 2022, 00:25
Tienes que poner el path completo, si no, no encontrara nada.

DIR /B "\New Folder\*.IDX" >> Listado.txt

En qué directorio estás buscando ?

---------- Post añadido el 13 de mayo de 2022 a las 00:29 ----------

Además, tienes que poner el path completo del fichero destino. Solo Dios sabe dónde lo creará.

DIR /B "\New Folder\*.IDX" >> c:\Dios\Listado.txt

---------- Post añadido el 13 de mayo de 2022 a las 00:40 ----------

Si lo quieres localizar , por ejemplo, c:\tmp\listado.txt

DIR /B "\New Folder\*.IDX" > c:\tmp\Listado.txt

Y sólo >, para que cree el fichero, si pones >>, añade a lo que contenia

---------- Post añadido el 13 de mayo de 2022 a las 00:51 ----------

Indica lo que no entiendas !!

luisbago
13 de mayo de 2022, 21:15
Una disculpa no supe explicarme :perdon:

la aplicación funciona en este directorio "C:\usr\dat", dentro del directorio están los *.cob y los *.idx, entonces la instrucción donde se ejecuta el comando se guarda aquí 02 pic x(19) value 'DIR *.IDX /B /l >> '. , no se si se ejecuta, pero el archivo tmp1 o temp1 no se crea (por cierto, por cosas que desconozco del programador original, crea un archivo, luego hace que se copie en otro, bueno no importa).

antes funcionada con rmcobol 5.26.00, ahora con el rmcobol 7.00.02 no funciona el código, supongo el actualizar el runtime algo ya no funciona, pero realmente no se que cambiar para que funcione.

arriba en mi segunda respuesta esta parte del codigo que junta el dir con el nombre del archivo deseado, quedando asi "DIR *.IDX /B /L > TEMP1"

JCantero
14 de mayo de 2022, 11:49
Prueba esto y luego lo pesonalizas para resolver tu problema:




call 'system' USING 'c:\windows\system32\cmd.exe /c dir /b c:\usr\dat > c:\usr\prueba.txt'

luisbago
18 de mayo de 2022, 15:58
Prueba esto y luego lo pesonalizas para resolver tu problema:




call 'system' USING 'c:\windows\system32\cmd.exe /c dir /b c:\usr\dat > c:\usr\prueba.txt'




Funciono, por fin, muchas gracias lo deje asi
value 'c:\windows\system32\cmd.exe /c dir *.idx /l /b >'