标题: 路径表达方式!请教了!
[打印本页]
作者: terse
时间: 2006-9-20 08:08
标题: 路径表达方式!请教了!
以下注册表文件里
1. C:\Program Files\Internet Explorer\iexplore.exe是BMP文件的默认打开方式!
假使iexplore.exe不在C盘,是不是可以有一个通用的路径表达方式导入?
2. C:\WINNT\NOTEPAD.EXE 是ASP文件的的默认打开方式,现在的系统2000,而XP是C:\WINDOWS 是否也可以有一个通用的路径表达方式导入?为什么用%WINDIR%不行呢?
请教了!
谢谢pengfei的帮助,奖励分!
Last edited by terse on 2006-9-21 at 10:41 ]
作者: pengfei
时间: 2006-9-20 08:15
楼主试试它, 为系统盘程序文件夹下的iexplorer.exe
%ProgramFiles%\Internet Explorer\iexplore.exe
作者: electronixtar
时间: 2006-9-20 08:20
作者: namejm
时间: 2006-9-20 08:36
Originally posted by electronixtar at 2006-9-20 08:20:
直接 iexplore 就可以了。不信试试 开始 / 运行 iexplore http://www.google.com
这样只是在运行中行得通而已,放在批处理中就不行了,正确的做法是用start命令来打开某个文件,该命令会调用默认的打开方式来打开你那个文件的。
作者: terse
时间: 2006-9-20 09:22
Originally posted by pengfei at 2006-9-20 08:15:
楼主试试它, 为系统盘程序文件夹下的iexplorer.exe
%ProgramFiles%\Internet Explorer\iexplore.exe
可以了 谢谢
第二个问题怎么办?
作者: electronixtar
时间: 2006-9-20 09:46
notepad可以的
作者: pengfei
时间: 2006-9-20 09:52
Originally posted by terse at 2006-9-20 09:22:
可以了 谢谢
第二个问题怎么办?
试试它%systemroot%\NOTEPAD.EXE
不知道%windir%命令为什么不行, 会不会是楼主两个系统都装在一个盘导致的?
如果上面不行, 试试这一句:
set notepad=%ComSpec:~0,-16%
%notepad%NOTEPAD.EXE
Last edited by pengfei on 2006-9-20 at 10:01 ]
作者: namejm
时间: 2006-9-20 10:06
因为notepad.exe在CMD的默认搜索路径中,所以无需再加路径,直接输入notepad就可以打开记事本了。
作者: terse
时间: 2006-9-20 10:10
Originally posted by electronixtar at 2006-9-20 09:46:
notepad可以的
还是不行啊!运行里可以打开NOTEPAD.EXE,批处理也可以打开NOTEPAD.EXE,导入注册表就不行了!
作者: terse
时间: 2006-9-20 10:14
Originally posted by pengfei at 2006-9-20 09:52:
试试它%systemroot%\NOTEPAD.EXE
不知道%windir%命令为什么不行, 会不会是楼主两个系统都装在一个盘导致的?
如果上面不行, 试试这一句:
set notepad=%Com ...
先谢谢大虾的回复,我没有装两个系统,现在用2K的,但我有GHOST的XP系统,只是想有个注册表备份,这样的话到时候可以导入就OK了,然现在没有找到可以导入两个系统都可以用的注册表项!
作者: pengfei
时间: 2006-9-20 10:19
Originally posted by terse at 2006-9-20 10:14:
先谢谢大虾的回复,我没有装两个系统,现在用2K的,但我有GHOST的XP系统,只是想有个注册表备份,这样的话到时候可以导入就OK了,然现在没有找删...
注册表关联的open项只需要填程序名就可以了, 系统目录下的文件路径为默认访问值. 打开NOTEPAD.EXE系统会自动在几个默认路径中搜索
Last edited by pengfei on 2006-9-20 at 10:20 ]
作者: terse
时间: 2006-9-20 11:16
Originally posted by pengfei at 2006-9-20 10:19:
注册表关联的open项只需要填程序名就可以了, 系统目录下的文件路径为默认访问值. 打开NOTEPAD.EXE系统会自动在几个默认路径中搜索
Last edited b ...
真的可以了 全部解决,谢谢各位大虾!可以删贴!
作者: terse
时间: 2006-9-21 10:45
Originally posted by pengfei at 2006-9-20 08:15:
楼主试试它, 为系统盘程序文件夹下的iexplorer.exe
%ProgramFiles%\Internet Explorer\iexplore.exe
请pengfei帮一忙,谢谢!昨天我试了导入还是可以的,怎么今天导入出错呢?2 只是把注册恢复到昨天没导入前!
作者: pengfei
时间: 2006-9-21 10:49
加上引号试试:
"%ProgramFiles%\Internet Explorer\iexplore.exe"
或
%systemdrive%\Program Files\Internet Explorer\iexplore.exe
Last edited by pengfei on 2006-9-21 at 10:54 ]
作者: terse
时间: 2006-9-21 11:36
不行的,看来行不通,不过 无论如何 也是谢谢的
作者: 3742668
时间: 2006-9-22 00:04
对于reg脚本中的路径,通常正确的书写格式应该把"
\"写成"
\\"。
例如:
c:\windows\notepad.exe应该书写为:c:\\windows\\notepad.exe
在你的脚本中,你可以使用类似下面的方法:
set strPath=%programfiles:\=\\%
set strPath=%strPath%\\internet explorer\\iexplore.exe
echo "abc"="%strPath%" >>yourreg.reg
作者: pengfei
时间: 2006-9-22 00:15
3742668版主说的对, 有的路径是要用双反斜杠.
代码可以优化为:
"%systemdrive%\\Program Files\\internet explorer\\iexplore.exe"
作者: terse
时间: 2006-9-22 00:23
Originally posted by 3742668 at 2006-9-22 00:04:
对于reg脚本中的路径,通常正确的书写格式应该把"\"写成"\\"。
例如:
c:\windows\notepad.exe应该书写为:c:\\wind ...
这样生成的REG文件还是指向c:\ .... 我的本意的不要有盘符出来的 以便让REG文件在XP和2K中通用!也就是怎样让系统盘程序文件夹下的iexplorer.exe为指定程序的默认打开方式!
作者: 3742668
时间: 2006-9-22 00:48
这样生成的REG文件还是指向c:\ .... 我的本意的不要有盘符出来的 以便让REG文件在XP和2K中通用!也就是怎样让系统盘程序文件夹下的iexplorer.exe为指定程序的默认打开方式!
不要太浮躁了,再仔细看看16F的
代码
set strPath=%programfiles:\=\\%
或者对于XP,直接用ftype,对于2k,导reg脚本。
作者: pengfei
时间: 2006-9-22 00:54
我想大概明白楼主的意思了:
@echo off
echo "%%systemdrive%%\\Program Files\\internet explorer\\iexplore.exe">open.reg
如果双反斜杠不行, 请改为反斜杠...
Last edited by pengfei on 2006-9-22 at 00:55 ]
作者: terse
时间: 2006-9-22 04:26
这里的人真是太热心了,首先谢谢不厌其烦的解答,可能我说得太麻烦了,我简单点说或许会明朗一点,就是在文件夹选项里,点开文件类型,我选JPG文件吧,点高级就可以看到里面有默认的执行操作的应用程序,路径里现在写上的是:
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" %1,
这个对应我的一个INF注册表文件里的下面第二行里一句
hkcr,".jpg",,,"jpgfile"
hkcr,".jpg","PerceivedType",,"image"
hkcr,".jpg","Content Type",,"image/jpg"
hkcr,".jpg\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}",,,"{7376D660-C583-11d0-A3A5-00C04FD706EC}"
hkcr,"jpgfile","EditFlags",0x10001,00,00,00,00
hkcr,"jpgfile","BrowserFlags",0x10001,08,00,00,00
hkcr,"jpgfile",,,"jpg 图像"
hkcr,"jpgfile\CLSID",,,"{25336920-03F9-11cf-8FD0-00AA00686F13}"
hkcr,"jpgfile\DefaultIcon",,,"F:\Program Files\Macromedia\Fireworks 8\Fireworks.exe,7"
hkcr,"jpgfile\shell",,,"Internet Explorer"
hkcr,"jpgfile\shell\Internet Explorer\command",,,"""C:\Program Files\Internet Explorer\IEXPLORE.EXE"" %%1"
hkcr,"jpgfile\shell\用Fireworks编辑\command",,,"""F:\Program Files\Macromedia\Fireworks 8\Fireworks.exe"" %%1"
现在问题是如果系统盘程序文件夹不在了C盘 这个文件也就没不能用了,因为我那INF文件还有很多自己的备份,所以我想 如果可以解决系统盘程序文件夹不在C盘 也可以用这个文件导入正常使用的话 那我以后就方便多了!再次谢谢各位!
作者: pengfei
时间: 2006-9-22 08:02
hkcr,"jpgfile\shell\Internet Explorer\command",,,"""C:\Program Files\Internet Explorer\IEXPLORE.EXE"" %%1"
楼主将上一行改为:
hkcr,"jpgfile\shell\Internet Explorer\command",,,"""%systemdrive%\Program Files\Internet Explorer\IEXPLORE.EXE"" %%1"
无论你使用哪个操作系统, 都为该操作系统下的ie浏览器程序.
这一句也执行同样的修改:
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" %1,
"%systemdrive%\Program Files\Internet Explorer\IEXPLORE.EXE" %1,
如果要用批处理生成注册表信息导入, 对应的信息就是:
echo "%%systemdrive%%\Program Files\Internet Explorer\IEXPLORE.EXE" %%1,>>open.reg
作者: terse
时间: 2006-9-22 09:53
Originally posted by pengfei at 2006-9-22 08:02:
hkcr,"jpgfile\shell\Internet Explorer\command",,,"""C:\Program Files\Internet Explorer\IEXPLORE.EXE"" %%1"
楼主将上一行改为:
hkcr,"jpgfile\she ...
改了后就有这样的提示,我传上图,
作者: pengfei
时间: 2006-9-22 10:23
难道inf文件不支持环境变量 , 但注册表是可以用的.
作者: terse
时间: 2006-9-22 11:22
Originally posted by pengfei at 2006-9-22 10:23:
难道inf文件不支持环境变量 , 但注册表是可以用的.
试过 一样不行的啊