Board logo

标题: 请教,BAT文件关联,问题!(多谢electronixtar 已解决) [打印本页]

作者: 2691614     时间: 2006-9-16 01:42    标题: 请教,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 ]
作者: electronixtar     时间: 2006-9-16 03:08
用 ^%
作者: 2691614     时间: 2006-9-16 03:47
谢谢你,我这么写的 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%,就无法读取!

麻烦你再帮帮我,谢谢!
作者: electronixtar     时间: 2006-9-16 04:02
哪就两个%%
作者: 2691614     时间: 2006-9-16 04:05
那个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)



作者: 2691614     时间: 2006-9-16 04:06
OK  谢谢了,两个%%号就可以了!!!  

哈哈,谢谢你!  我是菜鸟,长知识了!
作者: 2691614     时间: 2006-9-16 04:12
还有个问题,想问一下,系统盘的Windows或WIN可以用%SystemRoot%来定义

那么系统的Program Files  用什么定义呢!  谢谢了!
作者: 2691614     时间: 2006-9-16 04:52
好了 找到了 谢谢!
作者: electronixtar     时间: 2006-9-16 08:52
回复7楼:

自己运行 set 看看吧

得到答案:

%ProgramFiles%

就可以了