2013-11-09 52 views
0

我有在輸入目錄.jpg文件批量轉換所有文件夾

  • 碳多重文件夾:\ MyFolders \ AAA \ 001.JPG
  • C:\ MyFolders \ AAA \ 002.JPG
  • C:\ MyFolders \ BBB \ 001.JPG
  • C:\ MyFolders \ BBB \ 002.JPG
  • C:\ MyFolders ...

我要精讀所有用vert的.jpg文件,並保持相同的文件夾結構在輸出目錄

  • Ç:\ NewFolders \ AAA \ 001.JPG
  • Ç:\ NewFolders \ AAA \ 002.JPG
  • Ç:\ 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覆蓋

+0

好的。那麼有什麼不工作? –

+0

窗口立即關閉。它說,語法錯誤/語法不能用在這裏或類似的東西。我不知道如何解決這個問題。 – Sabri

+0

你爲什麼要從JPG轉換成JPG?你有沒有試過只是做一個單一的文件,看看它是否轉換? –

回答

0

我強烈懷疑,改變在FOR使用的metavariable在DO使用可能會提前事項metavariable匹配。您發佈的代碼將目錄名稱應用於%%f,但您在DO中使用%%d

這只是您解決方案的開始。你可能需要類似

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 
) 
) 
相關問題