Error de comando de sintaxis

-1

Un error "La sintaxis del comando es incorrecto" siempre aparece cada vez que ejecuto este archivo por lotes. Parece que no puedo averiguar qué parte de la secuencia de comandos está causando este error. ¿Alguna idea?

rem Process all *.tif files in input path
pushd "%in_path%"
for %%a in (*.tif) do (
   set "fileName=%%a"
   rem If the YearDay in this file is the same of previous one
   if "!fileName:~1,7!" equ "!yearDay!" (
      rem Join this filename to previous list
      set "fileList=!fileList!!fileName! "
      set /A numFiles+=1
   ) else (
      rem Merge the files in the list if there are more than 3, in the out_path leaving only TYYYYDDD.L2_LAC.Tera.tif
      if !numFiles! gtr 3 (
         gdal_merge.py -n 0 -a_nodata -32767 -of GTiff -o %out_path%\T!yearDay!.L2_LAC.Tera.tif !fileList!
         rem Move processed files to a different directory
         set "fileList=!fileList:~0,-1!"
         move !fileList: =,! "%proc_path%"
      )
      rem And start a new YearDay and fileList
      set "yearDay=!fileName:~1,7!"
      set "fileList=!fileName! "
      set numFiles=1
   )
)
popd
user
fuente
4
Quite la primera línea, luego verá qué línea causó el mensaje.
user3767013
La parte de movimiento de archivos en el script está causando el error del comando de sintaxis. ¿Pero cómo lo modificaré? ¿Tiene alguna idea? Porque el propósito es mover los archivos procesados ​​solo de la ruta de entrada a la ruta de los archivos procesados.
user
Lo siento, no estoy familiarizado con el procesamiento por lotes. Puede modificar la pregunta para indicar qué línea causó el error, las otras personas proporcionarán mejores respuestas.
user3767013
¿Qué es toda esa "variable!"? ¿Qué hará eso? Probablemente quisiste decir "% variable%" !? ¿Y qué espera que haga "! FileList: =!"?
Werner Henze
1
@WernerHenze ¡Él tiene que usar! Variable! porque él está en un bucle for y usa la expansión EnabledDelayedExpansion.
modiX

Respuestas:

0

Lo descubrí con la ayuda de un amigo. Acabo de reemplazar esta parte de la secuencia de comandos,

 set "fileList=!fileList:~0,-1!"
 move !fileList: =,! "%proc_path%"

con este,

for %%a in (!fileList!) do move %%a "%proc_path%"  >nul
user
fuente