无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1625|回复: 8
打印 上一主题 下一主题

[已解决]问一个dos命令的问题

[复制链接]
跳转到指定楼层
1#
发表于 2018-3-24 14:23:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kli 于 2018-3-25 16:15 编辑

%1这个能读取文件的完整路径,不过路径里有空格就不行了

bat里单纯的加上引号 "%1" 也不行

有没有方法让路径加上引号啊?

最近迷上了FFmpeg,命令行转换视频,不过每次都要改个短名,拖动到bat里转换完在改回来,太麻烦了

麻烦了
2#
 楼主| 发表于 2018-3-24 14:33:39 | 只看该作者
ffmpeg -y -i %1 -c:v libx264 -vf scale=540:960 -c:a aac -strict -2 f:\temp\%~n1.mp4
回复

使用道具 举报

3#
发表于 2018-3-24 14:47:56 | 只看该作者
本帖最后由 tools241 于 2018-3-24 14:54 编辑

:zh-CN
REM simplified Chinese (简体)
@echo 影,音合并(1080p)MP4 , 请输入*.mp3 或 *.acc 或 *.m4a 或 *.opus 的 "完整档名" (例如  D:\video.mp3 或 D:\video.m4a )  
@echo 将 "D:\video.mp3" 或 "D:\video.m4a" 与(无声的1080p影片档) "D:\video -DASH.mp4" 合并 成 "D:\video.mp4"
@SET /P input=
for  %%i in ("%input%") do set fn=%%~di%%~pi%%~ni
if not exist "%fn%".mp3 DATA\profile\ffmpeg.exe -i "%input%" -q:a 0 "%fn%".mp3
REM for  %%i in ("%input%") do set ext=%%~xi
if exist "%fn% - DASH".mp4  DATA\profile\ffmpeg.exe -i "%fn%".mp3 -i "%fn% - DASH".mp4 -acodec copy -vcodec copy "%fn%".MP4
if not exist "%fn% - DASH".mp4  DATA\profile\ffmpeg.exe -i "%fn%".mp3 -i "%fn%".mp4 -acodec copy -vcodec copy "%fn%"_c.MP4
@if exist mp3与(1080p影片)MP4合并.bat del mp3与(1080p影片)MP4合并.bat
pause 若转档失败,请将原档名改成英文


** 在本人特制的 Firefox 免安装 异空版 提供了:
影,音合并(1080p)MP4.bat
档案转mp3.bat

** Firefox  免安装 异空版 + Flash Player +26元件 (简/繁/英 , PE/Win 一版通用) ==>
   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=375104
   http://www.firefox.net.CN/read-52082

** Firefox 免安装 异空版 已纳入本人发布的 10PE:
效率极致!  简/繁 10PE17046x64/x86 10PE16299x64 10PE15063x64/x86
含IE11+Firefox56+GoogleChrome65+PotPlayer1.7.8557 PE影音上网 ==>
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=385866
回复

使用道具 举报

4#
 楼主| 发表于 2018-3-24 16:33:31 | 只看该作者
for  %%i in ("%input%") do set fn=%%~di%%~pi%%~ni

看不懂,添加这句,并且把%fn%改到我需要的转换命令里也没用

最主要你这个有个注解需要改英文名,和我希望的预期不符,

我本来也是改名的,我需要的是解决的是空格问题

点评

档名含空格是可以的.  详情 回复 发表于 2018-3-24 16:59
回复

使用道具 举报

5#
发表于 2018-3-24 16:59:49 | 只看该作者
本帖最后由 tools241 于 2018-3-24 17:07 编辑
kli 发表于 2018-3-24 16:33
for  %%i in ("%input%") do set fn=%%~di%%~pi%%~ni

看不懂,添加这句,并且把%fn%改到我需要的转换命令 ...

档名含空格是可以的.
... -i "%fn% - DASH".mp4 ...
其中就有含空格.

如果档案很多且含空格,
建议改用 for /f ... in (*.TXT) do ...
例:
set sz=0
for /f "tokens=1,2,3,4"  %%i in (X:\cpuzG.txt) do set u=%%l
回复

使用道具 举报

6#
发表于 2018-3-25 15:19:57 | 只看该作者
改成
ffmpeg -y -i "%1" -c:v libx264 -vf scale=540:960 -c:a aac -strict -2 f:\temp\"%~n1".mp4
回复

使用道具 举报

7#
 楼主| 发表于 2018-3-25 15:22:36 | 只看该作者
不行,单纯加双引号的我已经试过了

点评

请大大说明一下想达到什么功能.  详情 回复 发表于 2018-3-25 15:30
回复

使用道具 举报

8#
发表于 2018-3-25 15:30:40 | 只看该作者
本帖最后由 tools241 于 2018-3-25 15:58 编辑
kli 发表于 2018-3-25 15:22
不行,单纯加双引号的我已经试过了

大大是想将任何视频格式转成 MP4, 请改成:
for  %%i in ("%1") do set fn=%%~di%%~pi%%~ni
ffmpeg -y -i "%1" -c:v libx264 -vf scale=540:960 -c:a aac -strict -2 f:\temp\"%fn%".mp4


本人是 "影/音" 的重度使用者,
有兴趣可参考本人发布的10PE( Firefox/Chrome皆已加装多种元件可下载 MP3或视频, 提供多种 影/音 相关工具):
效率极致!  简/繁 10PE17046x64/x86 10PE16299x64 10PE15063x64/x86
含IE11+Firefox56+GoogleChrome65+PotPlayer1.7.8557 PE影音上网
==>
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=385866
** 在本人特制的 Firefox 免安装 异空版 提供了( 用到 \Firefox\DATA\profile\ffmpeg.exe 的):
\Firefox\影,音合并(1080p)MP4.bat
\Firefox\档案转mp3.bat

** Firefox  免安装 异空版 + Flash Player +26元件 (简/繁/英 , PE/Win 一版通用) ==>
   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=375104
   http://www.firefox.net.CN/read-52082



本人回复某网友关于 "手机+MP3+动态歌词", "百度.." ==>
http://bbs.wuyou.net/forum.php?m ... 8089&fromuid=581308


回复

使用道具 举报

9#
 楼主| 发表于 2018-3-25 16:15:32 | 只看该作者
我不是大大
不过在你的帮助下,反复实验都不行,我用pause暂停研究了一会错误代码
发现%1本身识别是带了双引号的,输出的时候%~n1这个是文件名没带双引号

所以我以前单纯"%1" 会被识别为,""d:\abc abc.mkv""  ;
f:\temp\%~n1.mp4 识别为 f:\temp\abc abc.mkv,
出错的是后面这段

我现在改为
ffmpeg -y -i %1 -c:v libx264 -vf scale=540:960 -c:a aac -strict -2 "f:\temp\%~n1".mp4
终于可以不改名了

谢谢你的帮助

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-26 05:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表