Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 获取通过批处理文件(由所有者关闭)关联的已打开文件(通过批处理文件)的名称_Batch File - Fatal编程技术网

Batch file 获取通过批处理文件(由所有者关闭)关联的已打开文件(通过批处理文件)的名称

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

您可能需要更正标题。。但我会尽力解释我真正想要的

我的批处理文件assoc.bat中有:

还有另一个onePlayer.bat:

我想要的是Player.bat检测我打开的.unity3d文件的名称

我会为你把它缩短

Assoc.bat关联.unity3d文件,因此它将由我的自定义文件夹中的Player.bat文件打开

Player.bat必须输出打开的.unity3d文件的名称当我打开.unity3d文件时,它会打开Player.bat文件,因此输出应如下所示:

[路径]\Game.unity3d

我知道%1获取了一个文件的名称,该文件被拖放到批处理文件中。但这正是我不想要的

这是

我希望你能理解我的英语和我想要的。。 请不要因此而恨我

有什么想法吗

编辑:我找到了一种不同的方法来制作我正在工作的程序


谢谢大家尝试帮助我。

啊-我知道问题出在哪里了。.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"