中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 运算符不存在 上一主题 | 下一主题
xueshan007050
初级用户




积分 27
发帖 18
注册 2010-3-18
状态 离线
『楼 主』:  运算符不存在

@echo off
setlocal EnableDelayedExpansion

     for /f "delims=" %%j in ('mediainfo "--Inform=General;%%Duration%%" "E:\temp\阿凡达\SAMPLE.mkv"') do (
      echo %%j
      set var=%%j
      echo !var!
      set /a var=!var!/1000
      echo !var!
       )
pause
上面for循环里的不用管,是正确的。%%j的值都是已经取到的了。
在我本机器上(windows server 2003系统)输出var变量的值都是正确的。
但是在 另外一台Server2003 系统上,运行set /a var=!var!/1000  这句的时候
就提示“运算符不存在”

这是什么原因呢?
是不是set /a 没有启用扩展?还是什么原因 请大侠指导。

2010-8-20 11:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 2 楼』:  

你用 set /a var/=1000  试试看行不行。

2010-8-20 14:06
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
xueshan007050
初级用户




积分 27
发帖 18
注册 2010-3-18
状态 离线
『第 3 楼』:  还是不行的

不行的。

是不是我上面取到的  %%j 是字符串的
不能进行数字操作?

我在我的本机上可以的,但是在别的环境下就不可以。
为什么呢?



黑白世界 搞得懂?搞不懂?
2010-8-30 15:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 4 楼』:  

mediainfo 应该是一个第三方工具,其他机器上放这个东西了么?

2010-8-30 15:33
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
xueshan007050
初级用户




积分 27
发帖 18
注册 2010-3-18
状态 离线
『第 5 楼』:  其他机器上放了这个东西了

谢谢各位大侠的参与。下面是我的代码
@echo off&setlocal EnableDelayedExpansion
set folder=E:\temp
for /d %%a in ("%folder%\*") do (
     for /f %%b in ("%%a\*.mkv") do (set name=%%b
     echo [Info]
     echo Title=%%a
     echo BitRate=12000000
     echo PkgLen=188
     for /f "delims=" %%j in ('MediaInfo "--Inform=General;%%Duration%%" "%%b"') do (
      set /a var=%%j/1000
      echo Duration=!var!
       )
     echo 测试输出%%a\%%~nb.Prf文件输出成功
     )
)
pause
======================
请注意一点:我上面已经写明白了,%%j能够取到正确的值了,关键是下面的。
" set /a var=%%j/1000
      echo Duration=!var!  "
这句不对头。

1.系统MS-DOS的版本都是5.2.3790
2.其他机器上Mediainfo第三方插件,加入环境变量和在Mediainfo.exe文件夹下使用都测试了。
3.关键是我的本机能够出现正常的数值,但是其他机器上就是提示”运算符不存在“。



黑白世界 搞得懂?搞不懂?
2010-8-31 09:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: