2011-10-18 47 views
0

我想创建一个脚本,它将为本地应用程序(他们当前将通过citrix)设置主要MS Office文件和一些其他文件扩展名的文件关联。我打算使用一个简单的批处理文件。是我需要的批处理文件吗?

但是,我希望它能够检测文件类型是否有效,如果不使用ftype创建它。我还希望它能够检测/区分用户是否具有MS Office 2003或MS Office 2007并进行相应关联。

我的问题是,批处理文件能够做到这一点,或者我最好使用其他类似vb脚本(考虑到我知道没有vb,尽管我也是批处理文件的新手)?

任何帮助表示赞赏

编辑:我应该有蜜蜂更清楚,这是一个锁定的环境,所以没有直接的注册表编辑工作可以做,而且将需要提供给用户,从共享驾驶或类似的东西。

回答

0

单独的批处理文件无法检测到文件关联是否正确,但是您可以每次都启动批处理文件,从而强制文件关联正确。它只会覆盖已经存在的内容。

只需自己创建适当的关联,然后运行Regedit并导出包含关联关键字的.reg文件,并使用运行regedit的批处理文件导入关键字。可能/进口或somesuch - 我很少使用Windows了!

这里有一个网页,解释它: http://www.robvanderwoude.com/regedit.php

+0

我希望能够做到这一点,但我们在一个环境中工作,没有这种访问权限,我们没有权限弹出给他们! 你每次只强制关联都是正确的,但这意味着需要2个独立的脚本,具体取决于安装的MS Office的版本。 –

+0

如果您可以查找某个特定的文件或文件名,那么可以使用一个批处理文件来执行此操作 - 您可以测试批处理中是否存在文件,并根据该文件执行不同的操作。 –

+0

我想我不明白环境锁定的等级或方式。在很多情况下,您可以以不同的用户身份执行脚本。如果Office被加载,为什么不存在正确的文件关联? –

0

您可以使用PowerShell脚本。您可以获得.NET的强大功能,这是一种非常好的脚本语言,您可以使用vbscript和bat文件有效地做任何事情。你也有一个非常有活力的社区。 Powershell使注册表操作变得如此简单和直观,以至于您不知道在文件上操作和在注册表项目上操作之间的区别

+0

再次希望能够做到这一点,应该提到环境相当封锁,所以直接注册表编辑已经结束,并且安装新软件也已完成。 –

+0

哪个操作系统? Powershell是更新的服务器和桌面操作系统的标准。 – manojlds

+0

旧的XP版本以及新的Win7版本,我会看看它 –

相关问题