中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教,BAT文件关联,问题!(多谢electronixtar 已解决)
作者:
标题: 请教,BAT文件关联,问题!(多谢electronixtar 已解决) 上一主题 | 下一主题
2691614
初级用户





积分 30
发帖 11
注册 2006-6-11
状态 离线
『楼 主』:  请教,BAT文件关联,问题!(多谢electronixtar 已解决)

我想用BAT做文件关联,可是有个小问题,请教高手,帮忙解决!

例如本人想把 .jsb文件,关联成用记事本打开。下面是命令,在DOS命令提示符下可以实现
Assoc .jsb=jsb
Ftype jsb=C:\WINDOWS\system32\notepad.exe %1

但本人想用BAT实现,批处理关联文件,下面是BAT脚本
@ECHO off
cls
color B
ECHO.
ECHO JSB文件关联
ECHO.
pause

Assoc .JSB=JSB
Ftype JSB=C:\WINDOWS\system32\notepad.exe %1

ECHO.
ECHO JSB文件关联成功
ECHO.
pause
exit

问题,本人是用样的命令,在命令提示符下可以实现,在BAT中无法实现。为什么,在命令提示符下,可以给定义1%的变量,在BAT中不能实现1%的变量,不能实现1%的变量,打开后是空的!  请高手告诉我怎么解决,我应该怎么写BAT,我觉得我是书写格式错误。

[ Last edited by 2691614 on 2006-9-16 at 05:44 ]

2006-9-16 01:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 2 楼』:  

用 ^%




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-16 03:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
2691614
初级用户





积分 30
发帖 11
注册 2006-6-11
状态 离线
『第 3 楼』:  

谢谢你,我这么写的 BAT
@ECHO off
cls
color B
ECHO.
ECHO JSB文件关联
ECHO.
pause


Assoc .JSB=JSB
Ftype JSB=C:\WINDOWS\system32\notepad.exe  ^%1

ECHO.
ECHO JSB文件关联成功
ECHO.
pause
exit

可是还是无法控制 1%的变量,在命令提示符下可以定义C:\WINDOWS\system32\notepad.exe %1  在BAT 只是C:\WINDOWS\system32\notepad.exe 没有1%,就无法读取!

麻烦你再帮帮我,谢谢!

2006-9-16 03:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:  

哪就两个%%




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-16 04:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
2691614
初级用户





积分 30
发帖 11
注册 2006-6-11
状态 离线
『第 5 楼』:  

那个1%,是控制打开函数的,要是没有1%,只是打开一个空的记事本,有了1%,就可以加载文件里面的内容。
在命令提示符下,可以加1%变量,在BAT里就无法加1%的变量。
BAT里C:\WINDOWS\system32\notepad.exe  %1的定义为C:\WINDOWS\system32\notepad.exe 后面的%1无法加载。

附件 1: Image00000.jpg (2006-9-16 04:05, 80.12 K, 下载附件所需积分 1 点 ,下载次数: 1)


2006-9-16 04:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
2691614
初级用户





积分 30
发帖 11
注册 2006-6-11
状态 离线
『第 6 楼』:  

OK  谢谢了,两个%%号就可以了!!!  

哈哈,谢谢你!  我是菜鸟,长知识了!

2006-9-16 04:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
2691614
初级用户





积分 30
发帖 11
注册 2006-6-11
状态 离线
『第 7 楼』:  

还有个问题,想问一下,系统盘的Windows或WIN可以用%SystemRoot%来定义

那么系统的Program Files  用什么定义呢!  谢谢了!

2006-9-16 04:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
2691614
初级用户





积分 30
发帖 11
注册 2006-6-11
状态 离线
『第 8 楼』:  

好了 找到了 谢谢!

2006-9-16 04:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 9 楼』:  

回复7楼:

自己运行 set 看看吧

得到答案:

%ProgramFiles%

就可以了




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-16 08:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: