我正在创建一个新的批处理文件,以便在命令行中使用 VLC 将任何 *。mp4文件转换为* .mp3文件,但我想改进它可以为任何Windows系统选择视频上的输入文件夹!
我的问题是:如何使用任何Windows系统的命令行进入视频文件夹?
以下是我的代码: MP4-MP3_Converter.bat
@echo off
Title Convert (*.mp4) to (*.mp3) with VLC by (c) Hackoo 2017
mode con:cols=85 lines=5 & COLOR 0E
Taskkill /IM "vlc.exe" /F >nul 2>&1
echo.
set "VLC_URL=http://www.videolan.org/vlc/download-windows.html"
IF /I "%PROCESSOR_ARCHITECTURE%"=="x86" (
Set "vlc=%ProgramFiles%\VideoLAN\VLC\vlc.exe"
) else (
Set "vlc=%ProgramFiles(x86)%\VideoLAN\VLC\vlc.exe"
)
If Not Exist "%vlc%" (
Cls & COLOR 0C
echo.
Echo "The VLC program is not installed on your system"
TimeOut /T 5 /NoBreak>nul
Start "" %VLC_URL%
Exit
)
Set "MP4Folder=C:\MP4Folder"
Set "MP3Folder=C:\MP3Folder"
If not exist "%MP3Folder%" MD "%MP3Folder%"
CD /D "%MP4Folder%"
for %%a in (*.mp4) do (
Cls
echo(
echo Please wait a while ... The Conversion is in progress ...
echo Conversion of "%%~na.mp4" to "%%~na.mp3"
"%vlc%" -I dummy "%%a" --sout=#transcode{acodec=mp3,ab=128,vcodec=dummy}:std{access="file",mux="raw",dst="%MP3Folder%\%%~na.mp3"} vlc://quit
)
Explorer "%MP3Folder%" & Exit
答案 0 :(得分:2)
不确定不同Windows版本之间的一致性,但我怀疑您可以使用"%userprofile%\videos"
。
但那个位置有什么特别之处?您正在假设所有感兴趣的视频都在该位置。例如,我从不使用该文件夹,但我的硬盘上有很多视频。
答案 1 :(得分:1)
感谢@ LotPings,这让我朝着正确的方向前进!
因此,我们可能会破解它以批量工作,因为有一些注册表项包含此信息。我们可以在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
"我的视频" 中找到它们。
因此,使用此批处理文件,我们可以执行此操作:
@echo off
Set "ShellFolderKey=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
Set "MyKey=My Video"
@For /f "tokens=4,* Delims= " %%A in ('Reg Query "%ShellFolderKey%" /v "%MyKey%" ^| Findstr /C:"%MyKey%"') Do (
Set "MyVideoShellFolder=%%A"
)
echo "%MyVideoShellFolder%"
pause