批量调用带自定义扩展名的文件

时间:2015-11-25 16:06:27

标签: windows batch-file

我在我的主要文件中使用第二个批处理文件来保存/加载变量,如下所示:

if not exist "KeemyDataPersistence.bat" (
echo @ECHO OFF > KeemyDataPersistence.bat
echo SET GENDER=F >> KeemyDataPersistence.bat
echo SET BGCOLOR=0 >> KeemyDataPersistence.bat
echo SET FGCOLOR=2 >> KeemyDataPersistence.bat
)
call KeemyDataPersistence.bat

它工作正常,但我想将第二个文件(KeemyDataPersistence.bat)与另一个扩展程序.keemy保存,KeemyDataPersistence.keemy。它只是通过在整个代码中用.keemy替换.bat来保存正常,但是当使用call KeemyDataPersistence.keemy时,它会运行Windows默认窗口来选择用户想要打开它的程序。

我如何才能将文件作为批处理文件调用?

1 个答案:

答案 0 :(得分:2)

首先尝试使用管理员权限(和.bat扩展名)运行此脚本:

   @echo off

    rem :: A files with .keemy extension will be able to execute batch code but is not perfect as the %0 argument is lost

    rem :: "installing" a caller.
    if not exist "c:\caller.bat" (
       echo @echo off
       echo copy "%%~nx1"  "%%temp%%\%%~nx1.bat" /Y ^>nul
       echo "%%temp%%\%%~nx1.bat"  %%*
    ) > c:\caller.bat

    rem :: associating file extension
    assoc .keemy=batps
    ftype batps=c:\caller "%%1" %*