标签: file-association

Sublime作为默认编辑器

有没有办法将Sublime Text设置为Windows 7上文件格式的默认文本编辑器?

此外,如果有人知道一个真正有用的Sublime Text Tutorial或Wiki.

windows text-editor file-association windows-7 sublimetext

103
推荐指数
5
解决办法
7万
查看次数

如何在Windows中执行Python脚本?

我有一个简单的脚本blah.py(使用Python 2):

import sys
print sys.argv[1]
Run Code Online (Sandbox Code Playgroud)

如果我执行我的脚本:

python c:/..../blah.py argument
Run Code Online (Sandbox Code Playgroud)

它打印参数,但如果我执行脚本:

blah.py argument
Run Code Online (Sandbox Code Playgroud)

发生错误:

IndexError ...

所以参数不会传递给脚本.

PATH中的python.exe.blah.py的文件夹也在PATH中.
python.exe是执行*.py文件的默认程序.

问题是什么?

python windows scripting command-line file-association

92
推荐指数
3
解决办法
35万
查看次数

Windows不会将命令行参数传递给从shell执行的Python程序

如果我尝试直接将它们作为可执行命令从Windows命令shell执行,那么我无法将命令行参数传递给Python程序.例如,如果我有这个程序(test.py):

import sys
print "Args: %r" % sys.argv[1:]
Run Code Online (Sandbox Code Playgroud)

并执行:

>test foo
Args: []
Run Code Online (Sandbox Code Playgroud)

相比于:

>python test.py foo
Args: ['foo']
Run Code Online (Sandbox Code Playgroud)

我的配置有:

PATH=...;C:\python25;...
PATHEXT=...;.PY;....

>assoc .py
.py=Python.File

>ftype | grep Python
Python.CompiledFile="C:\Python25\python.exe" "%1" %*
Python.File="C:\Python25\python.exe" "%1" %*
Python.NoConFile="C:\Python25\pythonw.exe" "%1" %*
Run Code Online (Sandbox Code Playgroud)

python windows registry file-association command-line-arguments

83
推荐指数
5
解决办法
3万
查看次数

打开带有相关应用程序的文

我想请求帮助从c#app打开一个带有相关应用程序的文件.我试过这个:

      ProcessStartInfo pi = new ProcessStartInfo(file);
      pi.Arguments = Path.GetFileName(file);
      pi.UseShellExecute = true;
      pi.WorkingDirectory = Path.GetDirectoryName(file);
      pi.FileName = file;
      pi.Verb = "OPEN";
      Process.Start(pi);
Run Code Online (Sandbox Code Playgroud)

或这个:

      Process.Start(file);
Run Code Online (Sandbox Code Playgroud)

其中file两个示例中的字符串表示尝试打开的文件的完整路径.现在,除了使用ACDSee应用程序(jpg)图像外,一切运行良好.Irfanview协会运作良好,MS办公室文件也是如此.试图打开使用ACDSee相关联的JPG图片后,它只是运行在通知区域中的ACDSEE,不打开该文件.

我发现,在注册表CLASSES_ROOT中为*.jpg图像,有一个ACDSee.JPG值作为关联应用程序,并且在此键下有一个shell- > Open-> Command命令路径:

"C:\Program Files\ACD Systems\ACDSee\ACDSee.exe" /dde
Run Code Online (Sandbox Code Playgroud)

我觉得这个奇怪/dde的原因,为什么我无法打开文件.我意识到在同一个reg key shell-> Open中有一些DDEExec带有值的键入口[open("%1")]

对于Irfan视图或其他已检查的应用程序,没有ddeexec,只有正常的命令

"C:\Program Files (x86)\IrfanView\i_view32.exe" "%1"
Run Code Online (Sandbox Code Playgroud)

可以在交换%1替换文件名后从命令行运行,但我无法从命令行中的acdsee条目运行命令:(

所以我的问题是,我如何设置ProcessStartInfo对象以确保它将运行所有文件,就像它在资源管理器中通过doubleclick,标准和这些DDEExec?还有其他类似的东西DDEExec我应该知道吗?谢谢,对不起我的EN

c# process file-association

58
推荐指数
3
解决办法
8万
查看次数

将文件扩展名与应用程序关联

我编写了一个编辑特定文件类型的程序,我想让用户选择在启动时将我的应用程序设置为此文件类型的默认编辑器(因为我不需要安装程序).

我已经尝试编写一个可重用的方法,通过向HKEY_CLASSES_ROOT添加密钥,并将其与我的应用程序一起使用,但是它不会为我关联文件(最好是在任何操作系统上,虽然我正在运行Vista)似乎工作.

public static void SetAssociation(string Extension, string KeyName, string OpenWith, string FileDescription)
{
    RegistryKey BaseKey;
    RegistryKey OpenMethod;
    RegistryKey Shell;
    RegistryKey CurrentUser;

    BaseKey = Registry.ClassesRoot.CreateSubKey(Extension);
    BaseKey.SetValue("", KeyName);

    OpenMethod = Registry.ClassesRoot.CreateSubKey(KeyName);
    OpenMethod.SetValue("", FileDescription);
    OpenMethod.CreateSubKey("DefaultIcon").SetValue("", "\"" + OpenWith + "\",0");
    Shell = OpenMethod.CreateSubKey("Shell");
    Shell.CreateSubKey("edit").CreateSubKey("command").SetValue("", "\"" + OpenWith + "\"" + " \"%1\"");
    Shell.CreateSubKey("open").CreateSubKey("command").SetValue("", "\"" + OpenWith + "\"" + " \"%1\"");
    BaseKey.Close();
    OpenMethod.Close();
    Shell.Close();

    CurrentUser = Registry.CurrentUser.CreateSubKey(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" + Extension);
    CurrentUser = CurrentUser.OpenSubKey("UserChoice", RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
    CurrentUser.SetValue("Progid", KeyName, RegistryValueKind.String);
    CurrentUser.Close();
}
Run Code Online (Sandbox Code Playgroud)

知道为什么它不起作用吗?一个示例用途可能是

SetAssociation(".ucs", "UCS_Editor_File", …
Run Code Online (Sandbox Code Playgroud)

c# registry file-association

52
推荐指数
5
解决办法
4万
查看次数

我怎样才能简单地"运行"lisp文件

蟒蛇

当我学习Python时,我使用一个很好的gui安装程序在Windows上安装它,所有.py文件都会自动在命令行或资源管理器中运行python.

我发现这非常直观和容易,因为我可以立即制作纯文本文件并运行它们.

口齿不清

我开始学习lisp并且(从评论中)决定SBCL不是一个糟糕的lisp实现.

有没有办法设置SBCL像Python一样轻松运行.lisp文件?

是否有其他具有此功能的lisp实现?

lisp windows sbcl file-association

27
推荐指数
2
解决办法
2万
查看次数

在Windows 7中添加新文件关联

使用Windows XP,我可以使用"控制面板"添加新的文件扩展名,将其与程序关联,并为其指定图标.我使用"控制面板"中的"文件夹选项"来完成 "文件夹选项"中有一个名为"文件类型"的选项卡.

但Windows 7文件夹选项没有该选项卡.建议的文件关联位置(默认程序)不允许我添加新的扩展名.

我如何做我想做的事情(即将新的扩展名与现有程序相关联,并对其应用新图标)?

file-association windows-7

27
推荐指数
3
解决办法
8万
查看次数

将App与Epub格式相关联

我无法让我的应用程序在移动设备上注册epub文件.我的android清单中有一组intent过滤器,但它仍然无法在sd卡上打开epub文件.当我浏览File Explorer应用程序时,它会显示该文件,但是当我点击它时,它会显示"系统不支持这种类型的文件:".当我从Internet下载文件,然后使用下载应用程序导航到下载文件夹时,该文件根本不显示(即使它位于文件浏览器的下载文件夹中).我也尝试使用文件选择器intent(Intent.ACTION_OPEN_DOCUMENT)来显示epub文件,但没有运气.我猜测最后两个没有显示,因为意图加载Intent.CATEGORY_OPENABLE

我尝试了多个epub文件,但都没有成功.

有人可以帮助弄清楚我错过了什么吗?

使用KitKat和更高级别的手机.

注意:这个确实从互联网上下载的工作.如果我转到epub链接,这是有效的,但不是来自文件系统.

        <!-- Open File Types -->
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:host="*" android:scheme="file"/>
            <data android:pathPattern=".*\\.epub"/>
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:host="*" android:scheme="file" android:mimeType="text/plain"/>
            <data android:pathPattern=".*\\.epub"/>
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:host="*" android:scheme="file"/>
            <data android:mimeType="application/epub+zip"/>
        </intent-filter>


        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:host="*" android:scheme="http"/>
            <data android:pathPattern=".*\\.epub"/>
        </intent-filter>


        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:host="*" android:scheme="http" android:mimeType="text/plain"/>
            <data android:pathPattern=".*\\.epub"/> …
Run Code Online (Sandbox Code Playgroud)

android file-association epub android-intent

21
推荐指数
1
解决办法
1554
查看次数

如何将Windows应用程序与特定文件类型相关联,但与其他应用程序共享该关联?

如果我创建一个新的应用程序,并与特定计算机上的.xml文件扩展名相关联,当有人双击.xml文件时,它将启动我的应用程序并将该文件作为参数传递.但Windows似乎知道其他文件能够使用该文件类型.这是怎么设置的?

此外,当我将Microsoft Word文件另存为.xml文件时,稍后双击该文件,它将启动Microsoft Word,即使.xml文件类型与其他内容相关联,例如Internet Explorer.似乎可能存在与.xml文件类型相关联的存根,在调用时会查看内容并启动相应的应用程序.

有没有Windows API,或某种标准方式来做到这一点?

我想创建一个应用程序来完成Word正在做的事情 - 即以.xml格式保存文件,但双击时,启动我的应用程序而不是Internet Explorer.

xml windows file-extension file-association

19
推荐指数
1
解决办法
1万
查看次数

ClickOnce应用程序无法通过与ClickOnce应用程序关联的*.abc的Process.Start("x.abc")启动

例如,我已经成功开发并部署了ClickOnce应用程序,该应用程序注册了相关的文件扩展名*.abc.当我单击命名文件x.abcx.abc从命令提示符处键入时,ClickOnce应用程序启动,我可以通过专用API检索文件.我还可以使用以下代码以编程方式启动应用程序:

System.Diagnostics.Process.Start ("x.abc");
Run Code Online (Sandbox Code Playgroud)

我的Windows Vista 64位盒上的一切正常.

但是,如果我尝试在Windows 7(也是64位)上做同样的事情,我有一个非常奇怪的问题.这是我观察到的:

  1. x.abc从资源管理器中双击手动启动.
  2. x.abc从命令提示符手动启动工作.
  3. Process.Start("x.abc")没有启动申请; 但是,返回的进程对象显示没有错误,并且ClickOnce应用程序以某种方式立即退出.但即使是Trace在ClickOnce应用程序的最开始,也永远不会到达.
  4. 更奇怪的是,包含单行Process.Start("x.bat")的文件也无法启动ClickOnce应用程序!同样从Explorer工作开始(当然).x.batx.abcx.bat

试图分析发生的事情ProcMon并不是很有帮助,因为从我的观点来看,启动应用程序的ClickOnce过程非常难以遵循.我观察rundll32到上班,但没有任何失败的证据.

正在执行的程序Process.Start是一个完全信任的控制台应用程序,真的没什么特别的.

我无法看到在Windows 7上处理ClickOnce应用程序的方式发生了哪些变化,为什么Process.Start与从Explorer中启动文件完全相同.值得一提的是,使用该Start方法的更高级版本ProcessStartInfo并设置UseShellExecutetrue无效.

开始cmd使用Process.Start,然后尝试推出x.abc正好显示了同样的问题.如果我将环境设置与cmd手动启动进行比较,我会看到如何ProgramFiles定义的差异(第一个指向C:\Program Files (x86)而第二个指向C:\Program Files).从我的.NET应用程序启动的应用程序是在32位仿真层(SysWoW64)上启动的.

我能够x.abc通过启动32位版本的命令提示符(即,%windir%\SysWoW64\cmd.exe)然后x.abc在提示符下键入来重现启动失败.我还发现了一个丑陋的解决方法,即通过启动%windir%\Sysnative\cmd.exe /C x.abc而不是从32位环境启动64位命令提示符x.abc. …

.net clickonce processstartinfo file-association windows-7

17
推荐指数
2
解决办法
5679
查看次数