Esta es la primera vez que cuestiono algo sobre superusuario, espero que alguien pueda ayudarme con mi problema.
Primero, déjame explicarte lo que estoy tratando de hacer. Estoy usando el shell cmd.exe de Windows para ayudarme a combinar mi imagen (formato HDR) usando otro comando instalado de la aplicación. El comando es bastante fácil, solo tengo que escribir el comando y seleccionar todos los datos que aparecen después. El comando podría parecer tan simple como este
mydir > pcomb images\patches\*.hdr > images\combinedimages.hdr
pero ahí va el error que dice
images\patches\*.hdr: Invalid argument
Ya busqué la solución y luego obtuve alguna pista. Parece que el comodín '*' no funciona con el shell estándar de Windows, aunque el comodín sí funciona con otros comandos, como 'tipo' y 'dir', al igual que el siguiente comando
mydir > dir images\patches\*.hdr
22/07/2019 13.47 938.824 p000.hdr
22/07/2019 13.47 938.824 p001.hdr
22/07/2019 13.47 938.824 p002.hdr
22/07/2019 13.47 938.824 p003.hdr
22/07/2019 13.47 938.824 p004.hdr
22/07/2019 13.47 938.824 p005.hdr
Entonces alguien dijo que tengo que:
- use Cygwin Shell simplemente instalando git para Windows (el problema aún existe aunque estoy usando el estilo de escritura bash).
- Tengo que proporcionar una lista completa de archivos deletreados mediante algún comando que ya hice (pero existe otro problema ya que cmd.exe tiene un número limitado de filas y tengo miles de archivos para deletrear)
¿Es esa alguna solución para esto?
Perdón por la mala gramática escrita, no hablo muy fluido inglés.
Respuesta1
¿Es este el ejecutable en cuestión?https://floyd.lbl.gov/radiance/man_html/pcomb.1.html
Si es así, la documentación es escasa, por decir lo menos, pero si sigo los ejemplos dados correctamente (que solo muestran 2 archivos de entrada y NO tienen la notación >? excepto "cuando se hace un punto")
Si es así, creo que lo que estás buscando hacer es algo como esto en la línea de comando normal a mano:
Opción 1:
pcomb "C:\images\patches\938.824 p000.hdr" "C:\images\patches\938.824 p001.hdr" "C:\images\patches\938.824 p002.hdr" >"C:\images\combinedimages.hdr"
Opcion 2:
pcomb "C:\images\patches\938.824 p000.hdr" > "C:\images\combinedimages.hdr"
pcomb "C:\images\patches\938.824 p001.hdr" > "C:\images\combinedimages.hdr"
pcomb "C:\images\patches\938.824 p002.hdr" > "C:\images\combinedimages.hdr"
Suponiendo que lo anterior cuando se prueba funcione como se esperaba, podría hacer lo siguiente según la opción que funcione en la prueba:
Opción 1:
SET "_HDRFiles=" &REM Clearing the variable in the CLI in case you run this multiple times.
FOR %A IN ("C:\images\patches\*.hdr" ) DO (
CALL SET "_HDRFiles=%_HDRFiles% "%A""
)
pcomb %_HDRFiles% >"C:\images\combinedimages.hdr"
Opcion 2:
FOR %A IN ("C:\images\patches\*.hdr" ) DO (
pcomb "%A" > "C:\images\combinedimages.hdr"
)