如何使用任何Windows系统的命令行获取视频Shell文件夹?

时间:2017-07-08 02:21:39

标签: batch-file vlc

我正在创建一个新的批处理文件,以便在命令行中使用 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

2 个答案:

答案 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