[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]下载+转码的BAT脚本,运行出现错误,搜不到解决方法

本人小白,看了一些教程,马马虎虎的写的,望大佬们帮助。
我的需求:
写一个windows的脚本.
检测当前文件夹下是否有BBDown.data文件的脚本,
如果有首先让用户输入av号或bv号,然后把它赋给一个变量url,然后执行 .\BBDown.exe URL,然后输出进行转码,然后执行转码,使用当前目录下的ffmpeg将买m4a问件无损转换未Flac,然后删除原m4a文件,最后输出转码完成。
如果没有,就输出'您未登陆,即将登陆',然后执行.\BBDown.exe login,完成后输出'登陆完成,请关闭并重新运行本程序'
我的代码:
  1. @echo off
  2. echo "!!!欢迎使用DRV音频下载脚本!!!"
  3. echo "祝你下载愉快"
  4. IF EXIST "BBDown.data" (
  5.     set /p url=请输入视频bv号或av号:
  6.     echo "正在下载音频..."
  7.     BBDown --audio-only %url%
  8.     echo "下载完成"
  9.     echo "开始转封装"
  10.     for %%a in (*.m4a) do (
  11.         ffmpeg -i "%%~na.m4a" "%%~na.flac"
  12.     )
  13.     echo "转码完成"
  14.     echo "正在删除m4a文件"
  15.     del *.m4a
  16. ) ELSE (
  17.     echo "您未登陆,即将登陆"
  18.     echo "登陆你的B站账号"
  19.     BBDown login
  20.     echo "登陆完成,请关闭并重新运行本程序"
  21. )
  22. pause
复制代码
  1. 运行结果:
  2. '瑙嗛bv鍙锋垨av鍙?' 不是内部或外部命令,也不是可运行的程序
  3. 或批处理文件。
  4. '"' 不是内部或外部命令,也不是可运行的程序
  5. 或批处理文件。
  6. '-i' 不是内部或外部命令,也不是可运行的程序
  7. 或批处理文件。
  8. 找不到 F:\下载DRV\*.m4a
  9. "鐧婚檰浣犵殑B绔欒处鍙?
  10. 'ho' 不是内部或外部命令,也不是可运行的程序
  11. 或批处理文件。
  12. 请按任意键继续. . .
复制代码
注:编码转成ANSI之后更是直接一闪而过
注:我是真的已经被它折磨的不行了,不明白,希望好心的大佬给我修正(win系统:win11)
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# 77七
十分感谢,可以运行了

TOP

本帖最后由 77七 于 2023-1-24 15:00 编辑
  1. @echo off
  2. rem 先补充路径,例如  set ffmpegexe="C:\Program Files\ffmpeg\ffmpeg.exe"
  3. set BBDownexe=""
  4. set ffmpegexe=""
  5. echo "!!!欢迎使用DRV音频下载脚本!!!"
  6. echo "祝你下载愉快"
  7. setlocal enabledelayedexpansion
  8. IF EXIST "BBDown.data" (
  9.     set /p url=请输入视频bv号或av号:
  10.     echo "正在下载音频..."
  11.     %BBDownexe% --audio-only !url!
  12.     echo "下载完成"
  13.     echo "开始转封装"
  14.     for %%a in (*.m4a) do (
  15.         %ffmpegexe% -i "%%~na.m4a" "%%~na.flac"
  16.     )
  17.     echo "转码完成"
  18.     echo "正在删除m4a文件"
  19.     del *.m4a
  20. ) ELSE (
  21.     echo "您未登陆,即将登陆"
  22.     echo "登陆你的B站账号"
  23.     %BBDownexe% login
  24.     echo "登陆完成,请关闭并重新运行本程序"
  25. )
  26. pause
复制代码

本人小白一枚,帮你修改了一下,不知道对不对
1

评分人数

bat小白,请多指教!谢谢!

TOP

返回列表