Answers:
.LNK是快捷方式文件,而不是NTFS软符号链接。前者可以包含可编辑的“目标”字段,您可以在其中添加参数,而后者则不能。
您可以尝试创建指向Portable_chrome.exe的快捷方式,然后在“目标”字段中向其中添加index.html,使其看起来像"Drive:\Path\to\portable_chrome.exe" index.html
。尽管快捷方式不能包含相对路径,但是启动它们将导致它们自动解析,因此在这种情况下,无论便携式/chrome.exe路径应该位于何处,因为它与快捷方式本身位于同一目录中。
或者,您可以在与该目录相同的目录中创建一个单行Launch.bat批处理文件portable_chrome.exe index.html
。
While shortcuts cannot contain relative paths…
它们不能包含程序的相对路径(无论如何,相对路径到底是什么,快捷方式文件的位置?启动时的当前目录?),但是它们确实可以具有命令行参数的相对路径,因为Explorer确实不解析参数,因此不区分路径参数。它只是按原样将参数添加到命令中。程序将解析它们,转换相对于“ 开始于”字段中指定的位置的任何相对路径。
I was referring to relative paths for the very thing the shortcut is pointing to
但问题是要询问参数的相对路径。 I'd love to create relative shortcuts, especially on removable read-only media that ends up with different drive letters every time.
确实。不幸的是,我们最接近的方法是使用批处理文件(确保使用该文件,start
以便在启动程序后关闭控制台)。
"Drive:\Path\to\portable_chrome.exe" index.html
那样,只要它与可移植的Chrome EXE位于同一目录(按问题进行操作),都无需指定HTML文件的路径。但是,由于快捷方式的限制,批处理文件是最好的解决方案,我认为我们同意这一点。
确实是个老问题,但是我找到了不使用批处理文件的解决方案:对cmd.exe使用快捷方式(* .lnk),可以在其中使用%cd%。因此目标字段如下所示:
C:\Windows\System32\cmd.exe /C start "" "%CD%\chrome.exe" "%CD%/index.html"
对于网络共享上的Web应用程序,我需要它。它不适用于UNC路径,也许这是一个安全选项。使用driveletter时,在受限制的公司环境下,它可以在Windows 7 64bit下在这里工作。
(这是我对超级用户的第一个答案,随时可以编辑/格式化)