在cmd shell范围内设置和限制文件类型关联

时间:2014-02-21 19:36:14

标签: windows shell batch-file cmd

在Windows上,有没有办法创建cmd shell并在其范围内设置某些文件类型关联,而不会影响系统范围的文件关联。我想启动一个.bat文件来打开一个shell,它有自己定义的文件类型关联....像这个伪.bat文件:

[my_shell.bat]
@echo off
~ASSOCIATE .jpg --> Google Image Viewer.exe
~ASSOCIATE .tga --> Adobe Photoshop
~ASSOCIATE .txt --> Komodo Edit
start cmd

因此,例如,我在生成的shell中打开的任何.txt文件都会在Komodo Edit中打开,而双击桌面上的.txt文件会打开它,无论系统范围内的文件关联是什么,像记事本。

2 个答案:

答案 0 :(得分:0)

可以使用assocftype

来完成
assoc .jpg=picture
ftype picture="C:\Program Files (x86)\IrfanView\i_view32.exe" "%1"

(请注意assoc .jpgftype WhateverYouUseAsName之前的输出,以便您能够在需要时还原它

答案 1 :(得分:0)

这并不能完全解决问题,需要进行一些系统范围的修改,但至少可以获得本地范围关联。您可以通过将文件类型与环境变量相关联,然后在当前cmd范围中修改环境变量来完成此操作。

我们对python文件有同样的问题并解决了这个问题。因此,首先将文件关联设置为变量路径。

ftype Python.File=%PYTHON%\python.exe "%1" %*

然后在本地cmd范围内将环境变量设置为适当的值。

set PYTHON=C:\Python27\2.7.9