你可能想要更正标题..但我会尝试解释我真正想要的东西..
我的批处理文件中有这个( Assoc.bat ):
@echo off
Assoc .unity3d=unity3dfile
Ftype unity3dfile="%homedrive%\MyFolder\Player.bat" %1
另一个( Player.bat ):
@echo off
echo %1
pause
我想要的是 Player.bat 来检测我打开的 .unity3d 文件的名称。
我会让你更短。
Assoc.bat 关联 .unity3d 文件,因此我的自定义文件夹中的“Player.bat”文件会将其打开..
Player.bat 必须输出已打开的 .unity3d 文件的名称(当我打开.unity3d文件时,它会打开 Player.bat 文件),所以输出应如下所示:
“[路径] \ Game.unity3d”
我知道“%1”获取批处理文件中“Drag n'Dropped”文件的名称。但这就是我不想要的。
这是a video
我希望你能理解我的英语和我想要的东西.. 请不要因此而恨我..
任何想法?
编辑:我发现了一种不同的方式来制作我正在工作的程序。
谢谢大家试图发牢骚。
答案 0 :(得分:0)
简单的解决方法是在定义FTYPE
时在%1
周围加上引号
ftype unity3dfile="%homedrive%\MyFolder\Player.bat" "%1"
答案 1 :(得分:0)
在assoc.bat
文件中,您需要使用
Ftype unity3dfile="%homedrive%\MyFolder\Player.bat" "%%1"
您需要转义百分号以防止解析器使用%1
的第一个参数替换assoc.bat
。