楼 主
请教,BAT文件关联,问题!(多谢electronixtar 已解决)
发表于 2006-09-16 01:42 · 中国 黑龙江 齐齐哈尔 中移铁通
初级用户
★
积分 30
发帖 11
注册 2006-06-11 17:19
20年会员
UID 56883
状态 离线
我想用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 楼
发表于 2006-09-16 03:08 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
用 ^%
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'>"
第 3 楼
发表于 2006-09-16 03:47 · 中国 黑龙江 齐齐哈尔 中移铁通
初级用户
★
积分 30
发帖 11
注册 2006-06-11 17:19
20年会员
UID 56883
状态 离线
谢谢你,我这么写的 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 楼
发表于 2006-09-16 04:02 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
哪就两个%%
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'>"
第 5 楼
发表于 2006-09-16 04:05 · 中国 黑龙江 齐齐哈尔 中移铁通
初级用户
★
积分 30
发帖 11
注册 2006-06-11 17:19
20年会员
UID 56883
状态 离线
那个1%,是控制打开函数的,要是没有1%,只是打开一个空的记事本,有了1%,就可以加载文件里面的内容。
在命令提示符下,可以加1%变量,在BAT里就无法加1%的变量。
BAT里C:\WINDOWS\system32\notepad.exe %1的定义为C:\WINDOWS\system32\notepad.exe 后面的%1无法加载。
第 6 楼
发表于 2006-09-16 04:06 · 中国 黑龙江 齐齐哈尔 中移铁通
初级用户
★
积分 30
发帖 11
注册 2006-06-11 17:19
20年会员
UID 56883
状态 离线
OK 谢谢了,两个%%号就可以了!!!
哈哈,谢谢你! 我是菜鸟,长知识了!
第 7 楼
发表于 2006-09-16 04:12 · 中国 黑龙江 齐齐哈尔 中移铁通
初级用户
★
积分 30
发帖 11
注册 2006-06-11 17:19
20年会员
UID 56883
状态 离线
还有个问题,想问一下,系统盘的Windows或WIN可以用%SystemRoot%来定义
那么系统的Program Files 用什么定义呢! 谢谢了!
第 8 楼
发表于 2006-09-16 04:52 · 中国 黑龙江 齐齐哈尔 中移铁通
初级用户
★
积分 30
发帖 11
注册 2006-06-11 17:19
20年会员
UID 56883
状态 离线
第 9 楼
发表于 2006-09-16 08:52 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
回复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'>"
论坛跳转: