1

tif 形式のファイルがいくつかあります。それらを ENVI 形式に変換したいと思います。1 つのファイルに対しては成功しましたが、ディレクトリ内の残りのファイルに対して実行したいと考えています。

   the first file in the directory is:Ser_W55_20100101_A.tif.
   the second file in the directory is:Ser_W55_20100102_A.tif    and so on .....

私はWindowsで作業しているので、cmdを起動してからコマンドを書きました:

 C:\Users>gdal_translate -of "ENVI" D:\Ser_W55_20100101_A.tif D:\Ser_W55_20100101_A.img

これは完全に機能しました。すべてのファイルに対してこれを行い、同じ名前を返す方法についてのアイデアをお願いします((tif)からENVIに変更して)

4

1 に答える 1

4

このためのバッチファイルを作成できます。次のようにします。

@ECHO OFF
SETLOCAL EnableDelayedExpansion

SET mypath=D:\test\

FOR /F %%i IN ('DIR /B %mypath%*.tif') DO (

    SET infile=%%i
    SET outfile=!infile:.tif=.img!

    gdal_translate -of "ENVI" %mypath%!infile! %mypath%!outfile!

)

これは現在のディレクトリでのみ実行されます。サブフォルダーを含める場合は、/Sフラグを dir ステートメントに追加します。最初に何が起こっているのかを確認するとよいかもしれません。そのためにECHOは、gdal cmd の前にECHO gdal_translate...a を追加しPAUSEて、最後に a を追加します。そうすれば、実際にコマンドを実行するのではなく、コマンドをコンソールに出力するだけです。

于 2013-05-23T06:27:17.553 に答える