Fed*_*nis 5 windows batch-file file-association
我创建了一个自定义文件扩展名,我将与批处理脚本相关联.我用了
ASSOC .myext=MY.FILETYPE
FTYPE MY.FILETYPE=cmd /c "C:\Path\of\my\batch.bat" %1 %*
Run Code Online (Sandbox Code Playgroud)
到目前为止,批处理文件"C:\ Path\of\my\batch.bat"是一个简单的单行程序
echo %1
Run Code Online (Sandbox Code Playgroud)
大致工作:双击.myext文件会弹出一个回显文件路径的cmd shell.
但是当.myext文件位于包含空格的路径中时会出现问题:回显的文件路径被截断到空格.
双引用FTYPE语句中的%1似乎不起作用.
FTYPE MY.FILETYPE=cmd /c "C:\Path\of\my\batch.bat" "%1" %*
Run Code Online (Sandbox Code Playgroud)
双引号%1是正确的,但它失败,因为当命令和至少一个参数包含引号时cmd.exe包含错误.
因此,您需要通过插入来使命令不带引号CALL.
FTYPE MY.FILETYPE=cmd /c call "C:\Path\of\my\batch.bat" "%1" %*
Run Code Online (Sandbox Code Playgroud)