中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 01:26
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教,BAT文件关联,问题!(多谢electronixtar 已解决)
可打印版本  1,546 / 8
第1楼 2691614 发表于 2006-09-16 01:42
初级用户 发帖 11 积分 30
请教,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 ]
第2楼 electronixtar 发表于 2006-09-16 03:08
铂金会员 发帖 2,672 积分 7,493
用 ^%
第3楼 2691614 发表于 2006-09-16 03:47
初级用户 发帖 11 积分 30
谢谢你,我这么写的 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%,就无法读取!

麻烦你再帮帮我,谢谢!
第4楼 electronixtar 发表于 2006-09-16 04:02
铂金会员 发帖 2,672 积分 7,493
哪就两个%%
第5楼 2691614 发表于 2006-09-16 04:05
初级用户 发帖 11 积分 30
那个1%,是控制打开函数的,要是没有1%,只是打开一个空的记事本,有了1%,就可以加载文件里面的内容。
在命令提示符下,可以加1%变量,在BAT里就无法加1%的变量。
BAT里C:\WINDOWS\system32\notepad.exe %1的定义为C:\WINDOWS\system32\notepad.exe 后面的%1无法加载。

附件
Image00000.jpg (80.12 KiB)
第6楼 2691614 发表于 2006-09-16 04:06
初级用户 发帖 11 积分 30
OK 谢谢了,两个%%号就可以了!!!

哈哈,谢谢你! 我是菜鸟,长知识了!
第7楼 2691614 发表于 2006-09-16 04:12
初级用户 发帖 11 积分 30
还有个问题,想问一下,系统盘的Windows或WIN可以用%SystemRoot%来定义

那么系统的Program Files 用什么定义呢! 谢谢了!
第8楼 2691614 发表于 2006-09-16 04:52
初级用户 发帖 11 积分 30
好了 找到了 谢谢!
第9楼 electronixtar 发表于 2006-09-16 08:52
铂金会员 发帖 2,672 积分 7,493
回复7楼:

自己运行 set 看看吧

得到答案:

%ProgramFiles%

就可以了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023