Tôi đã làm theo gợi ý của nixda và sử dụng một tập lệnh bó. Tôi đã tìm ra cách lập trình một lô cho windows 7. Đây là giải pháp của tôi:
@echo off
for /f "delims=|" %%f in ('dir /b C:\Any_Directory\*.wav') do (
echo converting %%f
CALL "C:\Program Files\VideoLAN\VLC\vlc.exe" --intf dummy --dummy-quiet "%%f" --sout="#transcode{acodec=mp3,ab=256,vcodec=dummy}:standard{access=file,mux=raw,dst=MP3_Files/"%%f"}" vlc://quit
move "%%f" WAV_converted/"%%f"
)
cd MP3_Files
ren *.wav *.mp3
cd ..
echo .
echo .
echo .
echo conversion finished
pause
Chương trình hoạt động như thế nào:
- Tất cả các tệp có phần mở rộng .wav trong thư mục được chỉ định "C: \ Any_Directory \" được chuyển đổi thành mp3 (tên tệp không được chứa bất kỳ khoảng trắng nào)
- Các tệp mp3 được lưu trong thư mục "MP3_Files" (phải tồn tại)
- Các tệp wav được đẩy vào thư mục "WAV_converted" (phải tồn tại)
- "Ab = 256" đặt tốc độ bit. Để chuyển đổi với tốc độ bit 128, thay thế nó bằng "ab = 128".
- Tệp bó phải được chạy từ cùng thư mục với các tệp bạn muốn chuyển đổi (như được đề cập bởi Kevin Heidt)
Gợi ý
- Xóa "--intf dummy --dummy-quiet" khỏi tập lệnh nếu bạn muốn xem GUI VLC trong khi chuyển đổi. Có thể hữu ích để gỡ lỗi.
Cập nhật
Vẫn còn một lỗi: Nếu tên của tệp wav chứa dấu chấm hoặc dấu phẩy, tên đó bị cắt ngắn (và không có phần mở rộng nào được thêm vào!). Các tập tin được chuyển đổi mặc dù điều này.
Đã thử nghiệm với Phiên bản 1.1.11. Phiên bản mới hơn có thể không hoạt động!
Đã thêm dấu ngoặc kép: --sout = "...". Hoạt động cho các phiên bản mới hơn, quá. Đã thử nghiệm với Phiên bản 2.1.3 64 bit trên Windows (xem trang wiki VLC để biết sự khác biệt trong dòng lệnh cho Linux và Windows và các ví dụ và tùy chọn bổ sung).