gpt4 book ai didi

linux - 无法在 Linux 上的 PowerShell 中创建 Windows 快捷方式

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:55 25 4
gpt4 key购买 nike

我想在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 specifiedmodule 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 快捷方式:

MSLink

它同时具有 bash 版本和 C 源代码。

另请参阅:

Produce-lnk-file-on-gnu-linux-to-transfer-to-windows

关于linux - 无法在 Linux 上的 PowerShell 中创建 Windows 快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46026459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com