中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 13:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (已解决)把文件拖到批处理如何执行 查看 1,792 回复 3
楼 主 (已解决)把文件拖到批处理如何执行 发表于 2011-01-20 11:14 ·  中国 北京 联通
初级用户
★★
积分 122
发帖 54
注册 2006-11-03 04:24
19年会员
UID 69380
性别 男
状态 离线
有A.cmd批处理,中间有一个变量是%SRC%,我需要把B文件拖到A.cmd这个文件上,应该自动将B文件的路径与文件名赋于%SRC%变量,应该如何实现呢,附上我目前写好的批处理供参考,但好像是有问题的。

以下代码已经测试通过。

@echo off
color 0C
FOR /D /R "%~dp0" %%A IN (*) DO @SET PATH=%%A;!PATH!
CD /D "%~dp1"

SET SRC=%~n1
ECHO 转换AVS的视频文件为X.264...
"D:\GreenSoft\DVD.Tools\LiteMP4Tool2.3\tools\x264.exe" --qp 24 --level 1.3 --ref 3 --mixed-refs --no-fast-pskip --no-cabac --subme 7 --analyse p8x8,b8x8,i4x4,p4x4 --me esa --thread-input --no-dct-decimate --psnr --ssim --output "%SRC%.264" "%SRC%.avs"
ECHO 视频处理完成

ECHO 转换AVS的音频文件为M4A...

"D:\GreenSoft\DVD.Tools\megui\tools\BePipe.exe" --script "Import(^%SRC%.avs^)" | "D:\GreenSoft\DVD.Tools\megui\tools\neroaacenc\neroAacEnc.exe" -br 96000 -lc -ignorelength -if - -of "%SRC%.m4a"
ECHO 音频处理完成

ECHO 合并视频音频...
"D:\GreenSoft\DVD.Tools\megui\tools\mp4box\MP4Box.exe" -fps 23.976 -add "%SRC%.264" "%SRC%.m4a" -out "%SRC%.mp4""

ECHO 删除视频临时文件...
IF EXIST "%SRC%.264" DEL "%SRC%.264"
ECHO 删除音频临时文件...
IF EXIST "%SRC%.m4a" DEL "%SRC%.m4a"

pause


[ Last edited by jasonwang on 2011-1-20 at 14:30 ]
2 发表于 2011-01-20 13:14 ·  中国 北京 263网络通信电信数据中心
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
第8行 这个 “) ” 多余了吧

goto %2

%2的标签你定义了?
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2011-01-20 14:12 ·  中国 北京 联通
初级用户
★★
积分 122
发帖 54
注册 2006-11-03 04:24
19年会员
UID 69380
性别 男
状态 离线
第8行的)是我复制错误了,%2确实没有定义,但和我的疑问没太大关系啊?兄弟知道如何解决吗?
4 发表于 2011-01-20 14:28 ·  中国 北京 联通
初级用户
★★
积分 122
发帖 54
注册 2006-11-03 04:24
19年会员
UID 69380
性别 男
状态 离线
""%SRC%.264" ""%SRC%.avs"
已经找到原因了,多复制了2个引号,改成下面这个就行了
"%SRC%.264" "%SRC%.avs"
论坛跳转: