在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文件会打开它,无论系统范围内的文件关联是什么,像记事本。
答案 0 :(得分:0)
可以使用assoc
和ftype
assoc .jpg=picture
ftype picture="C:\Program Files (x86)\IrfanView\i_view32.exe" "%1"
(请注意assoc .jpg
和ftype WhateverYouUseAsName
之前的输出,以便您能够在需要时还原它
答案 1 :(得分:0)
这并不能完全解决问题,需要进行一些系统范围的修改,但至少可以获得本地范围关联。您可以通过将文件类型与环境变量相关联,然后在当前cmd范围中修改环境变量来完成此操作。
我们对python文件有同样的问题并解决了这个问题。因此,首先将文件关联设置为变量路径。
ftype Python.File=%PYTHON%\python.exe "%1" %*
然后在本地cmd范围内将环境变量设置为适当的值。
set PYTHON=C:\Python27\2.7.9