Kesalahan "Sintaks perintah salah" selalu muncul setiap kali saya akan menjalankan file batch ini. Sepertinya saya tidak tahu bagian mana dari skrip yang menyebabkan kesalahan ini. Ada ide?
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
4
Hapus baris pertama, Anda kemudian akan melihat baris mana yang menyebabkan pesan.
—
user3767013
Pemindahan file bagian dalam skrip menyebabkan kesalahan perintah sintaksis. Tetapi bagaimana saya akan memodifikasinya? Apakah kamu punya ide? Karena tujuannya adalah untuk memindahkan file yang diproses hanya dari input_path ke jalur file yang diproses.
—
pengguna
Maaf saya tidak familier dengan pemrosesan batch. Anda dapat mengubah pertanyaan untuk menunjukkan baris mana yang menyebabkan kesalahan, orang lain akan memberikan jawaban yang lebih baik.
—
user3767013
Apa itu semua "variabel!"? Apa yang harus dilakukan? Mungkin Anda bermaksud "% variable%" !? Dan apa yang Anda harapkan "! FileList: = !," lakukan?
—
Werner Henze
@WernerHenze Dia harus menggunakan! Variabel! karena dia berada dalam for loop dan menggunakan EnabledDelayedExpansion.
—
modiX