我想在Windows操作系统(.lnk)下使用脚本创建快捷方式。
在Windows环境下,我选择了PowerShell,编写脚本,成功创建了.lnk。
$shell = New-Object -ComObject WScript.Shell
$desktop = [System.Environment]::GetFolderPath('Desktop')
$shortcut = $shell.CreateShortcut("$desktop\clickme.lnk")
$shortcut.TargetPath = "C:\Users\scc\Desktop\linkfolder"
$shortcut.IconLocation = "shell32.dll,004"
$shortcut.Save()
但是我的线上运行环境是Linux。
幸运的是,我发现PowerShell在2016年就多平台移植了,是的,它可以支持Linux。我找到它,下载并安装了它。在 Linux 下,在 PowerShell 命令窗口中我可以运行一些基本命令。
出现运行时错误! 当我运行第一行代码时:
$shell = New-Object -ComObject WScript.Shell
错误信息是:
New-Object : Unable to load DLL 'api-ms-win-core-com-l1-1-0.dll': The specified module or one of its dependencies could not be found. (Exception from HRESULT: 0x8007007E) At line:1 char:10 + $shell = New-Object -ComObject WScript.Shell + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [New-Object], DllNotFoundException + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.NewObjectCommand
根据提示,好像是缺少WScript相关的模块。缺少 DLL 文件。
我的需求是在Linux下运行Java程序,创建Windows格式的快捷方式。 (存储在网盘中,文件系统为btrfs,可以提供SMB\AFP\NFS\FTP这些文件服务)
是的,这个需求好像很奇怪,如果你有新的解决思路和思路,请告诉我或者和我一起讨论。
我有一个大胆的想法:我可以使用SMB协议(protocol)创建一个.lnk文件吗?
最佳答案
您可以使用以下方法在 Linux 中创建 Windows 快捷方式:
它同时具有 bash 版本和 C 源代码。
另请参阅:
关于linux - 无法在 Linux 上的 PowerShell 中创建 Windows 快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46026459/