Batch file 获取通过批处理文件(由所有者关闭)关联的已打开文件(通过批处理文件)的名称
您可能需要更正标题。。但我会尽力解释我真正想要的 我的批处理文件assoc.bat中有: 还有另一个onePlayer.bat: 我想要的是Player.bat检测我打开的.unity3d文件的名称 我会为你把它缩短 Assoc.bat关联.unity3d文件,因此它将由我的自定义文件夹中的Player.bat文件打开 Player.bat必须输出打开的.unity3d文件的名称当我打开.unity3d文件时,它会打开Player.bat文件,因此输出应如下所示: [路径]\Game.unity3d 我知道%1获取了一个文件的名称,该文件被拖放到批处理文件中。但这正是我不想要的 这是 我希望你能理解我的英语和我想要的。。 请不要因此而恨我 有什么想法吗 编辑:我找到了一种不同的方法来制作我正在工作的程序Batch file 获取通过批处理文件(由所有者关闭)关联的已打开文件(通过批处理文件)的名称,batch-file,Batch File,您可能需要更正标题。。但我会尽力解释我真正想要的 我的批处理文件assoc.bat中有: 还有另一个onePlayer.bat: 我想要的是Player.bat检测我打开的.unity3d文件的名称 我会为你把它缩短 Assoc.bat关联.unity3d文件,因此它将由我的自定义文件夹中的Player.bat文件打开 Player.bat必须输出打开的.unity3d文件的名称当我打开.unity3d文件时,它会打开Player.bat文件,因此输出应如下所示: [路径]\Game.unity
谢谢大家尝试帮助我。啊-我知道问题出在哪里了。.unity3d文件的路径包含一个空格,这会破坏文件参数的解析 简单的修复方法是在定义FTYPE时在%1周围加引号
ftype unity3dfile="%homedrive%\MyFolder\Player.bat" "%1"
在assoc.bat文件中,您需要使用
Ftype unity3dfile="%homedrive%\MyFolder\Player.bat" "%%1"
您需要转义百分号,以防止解析器用assoc.bat的第一个参数替换%1 ???你试过你的代码吗当你回显%1时,你应该会看到完整的路径,你当时不明白…我知道我可以在批处理文件上拖放文件,但这不是我想要的,我甚至不会问我是否上传了视频或图片,你会看到。仍然是同样的问题。Player.bat的输出仍然是sameECHO关闭或它说的任何东西…@TomLenc-当路径中有一个空间时,它对我有效。当双击失败时,我无法读取视频中的文本。请编辑您的问题,并包括问题失败时收到的确切信息。如果您将其作为代码发布,则最容易阅读。如果可以,请提供消息的英文翻译。当我在Player.bat上拖放Game.unity3d时,它会显示路径。唯一的问题是:当Player.bat是打开.unity3d文件的默认程序时,当我双击/打开Game.unity3d文件时,输出是空的。这就是为什么它所说的ECHO是关闭的…抱歉,我无法在您的视频中再现结果。我创建了相同的文件和文件夹,在ftype定义中添加了%1左右的引号后,一切都正常。我被难住了。如果没有办法,那么如果你知道如何解除文件关联?我需要这个。
ftype unity3dfile="%homedrive%\MyFolder\Player.bat" "%1"
Ftype unity3dfile="%homedrive%\MyFolder\Player.bat" "%%1"