0

入力ディレクトリに .jpg ファイルを含む複数のフォルダーがあります

  • C:\MyFolders\AAA\001.jpg
  • C:\MyFolders\AAA\002.jpg
  • C:\MyFolders\BBB\001.jpg
  • C:\MyFolders\BBB\002.jpg
  • C:\MyFolders...

すべての .jpg ファイルを変換し、出力ディレクトリで同じフォルダー構造を維持したい

  • C:\NewFolders\AAA\001.jpg
  • C:\NewFolders\AAA\002.jpg
  • C:\NewFolders\BBB\001.jpg
  • C:\NewFolders\BBB\002.jpg
  • C:\NewFolders...

for /d %%f in (C:\MyFolders\*) do i_view32.exe "%%f\*.jpg" /resize=(1280,1280) /jpgq=75 /aspectratio /resample /convert=C:\NewFolders\%%d\*.jpg

上記のコードでは変換は機能しますが、出力フォルダーは %d です

  • C:\NewFolders\%d\001.jpg
  • C:\NewFolders\%d\002.jpg

.jpg を上書き

4

1 に答える 1

0

FORで使用されているメタ変数と一致するように で使用されているメタ変数を変更すると、DO問題が進行する可能性があると強く思います。投稿されたコードは directoryname に適用されます%%f%%dDO.

ただし、それはソリューションの始まりにすぎません。あなたはおそらく次のようなものが必要になるでしょう

for /r /d %%f in (C:\MyFolders\*) do ( for /f "tokens=1*delims=\" %%x in ("%%f") do (
  i_view32.exe "%%f\*.jpg" /resize=(1280,1280) /jpgq=75 /aspectratio /resample /convert=C:\NewFolders\%%x\*.jpg
 )
)
于 2013-11-10T02:09:36.543 に答える