2017-09-15 82 views
0

我正在加快我的C:\MP3\AudioBooks\The Idea Factory文件夾中所有mp3文件的速度。我可以做任何單獨的文件正是如此,成功:如何對文件夾中的所有mp3執行操作?

sox --show-progress "C:\MP3\AudioBooks\The Idea Factory\002.mp3" "C:\MP3\AudioBooks\The Idea Factory\speedy\002.mp3" tempo 1.3 

但我在cmd行迷路循環邏輯:

FOR %%I in ("C:\MP3\AudioBooks\The Idea Factory\*.mp3") DO (
    echo %%I 
    echo %~pI 
    echo %~nI 
) 

你可以看到我只是在做回聲,現在,不知道如何根據輸入路徑更改輸出路徑,並且第二個和第三個回聲語句無論如何都會爆炸。第一個作品。

什麼是獲取文件夾路徑輸入的最簡單方法,循環播放所有mp3文件(沒有子文件夾,只是mp3),並對每個文件執行我的sox命令,輸出mp3進入speedy子文件夾?

回答

1

也許你在我前面

For %%I In ("C:\MP3\AudioBooks\The Idea Factory\*.mp3" 
) Do sox --show-progress "%%I" "%%~dpIspeedy\%%~nxI" tempo 1.3 
+0

幾秒鐘......我建議使用' 「%%〜FI」',而不是' 「我%%」'。只是爲了確保獲得完整的合格文件名稱。 – Stephan

+0

@Stephan,如果OP沒有使用完全合格的路徑作爲他們的源代碼目錄,我確實會使用'%%〜fI',但是他們看起來完全沒有必要 – Compo

+0

很棒,謝謝! – HerrimanCoder

相關問題