我有一个游戏使用这个文件结构:
GAME FOLDER
->data
->data->run.bat
我想在游戏文件夹中放置一个指向run.bat
的快捷方式,但如果我移动它,或者其他人安装它,它将无法正常工作,因为目标是错误的。有没有一种方法可以使目标和“起始位置”相对于GAME FOLDER?
bat - Shortcut
。Shortcut to bat
。右键点击你刚创建的快捷方式,选择 Properties。
更改 Target(在 Windows 7 的 Shortcut 选项卡下)为以下内容:
%windir%\system32\cmd.exe /c start "" "%CD%\bat\bat\run.bat"
确保起始位置为空。这会导致它在当前目录中启动。
对于快捷方式到.bat文件的情况,这可能是可以接受的。但如果你想要更改图标,请再次打开快捷方式属性,然后单击更改图标...(同样是在Windows 7下的快捷方式选项卡下)。此时,你可以通过浏览...寻找一个图标,或者输入一系列默认系统图标。
%SystemRoot%\system32\SHELL32.dll
在“浏览...”按钮左侧,按下Enter键。 在Windows 7和Windows XP上都可以使用此方法,但由于样式更新(但仍然相似),图标可能会有所不同。根据Windows的版本,快捷方式所在的图标有时会相应更改。
更多信息:
请参见使用带参数的“start”命令启动程序以更好地理解第一个Target命令前面的空双引号。
cmd.exe /c start
使用当前打开的 Windows资源管理器 窗口吗? - leoj.txt
,.ini
,.md
) - Stevoisiak.bat
文件作为普通用户运行,则此解决方案有效,但是如果您按照此问题中的说明告诉快捷方式以管理员身份运行,则无法正常工作。遗憾的是,我没有解决此问题的方法。 - blackandorangecat据微软表示,如果留空'Start In'
框,则脚本将在当前工作目录中运行。我已在Windows 7上尝试过,并且似乎可以正常运行。
尝试使用Relative(一款Windows命令行应用程序)。
基本上,快捷方式可以有相对链接,但是Windows没有实际制作相对链接的方法。
%MyGameFolder%\data\MyGame.exe
)。
这里有一个小入门介绍。你可以通过批处理文件来设置这个值,或者如果你分享了你计划如何创建你的快捷方式,你可能可以以编程方式设置它。%windir%\explorer.exe "..\data\run.bat"
%windir%\explorer.exe ".\data\run.bat"
- 这样可以工作吗? - ToolmakerSteve在阅读了几个答案后,我决定采用简单的解决方案:不使用快捷方式,而是创建一个只有一行命令的 .bat 文件来调用主要的 .bat 文件,这样就可以按照我想要的方式工作。
按照您所做的方式创建快捷方式后,在属性中设置以下内容:
目标:
%comspec% /k "data\run.bat"
- 如果您不想在运行后保持提示打开,请删除
/k
。起始位置:
%cd%\data
我在“启动”选项中使用了“%~dp0”命令,并且在Windows 10 x64系统上运行良好。