在桌面上创建快捷方式,调用PowerShell cmdlet
本文关键字:调用 PowerShell cmdlet 快捷方式 桌面 创建 | 更新日期: 2023-09-27 18:17:35
我正在尝试用c#代码在桌面上创建一个快捷方式,
- 打开PowerShell,
- 进口
myModule.dll
, - 清除屏幕,
- 显示
myModule.dll
的所有cmdlet。
执行c#后,快捷方式出现在桌面,但由于某些原因,整个shortcut.TargetPath
周围设置了引号。手动删除这些引号后,一切都很好。
如何防止这些引号被设置?
我代码:object shDesktop = (object)"Desktop";
WshShell shell = new WshShell();
string shortcutAddress = (string)shell.SpecialFolders.Item(ref shDesktop) + @"'´MyModule.lnk";
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress);
shortcut.Description = "MyModule";
shortcut.TargetPath = @"%Windir%''system32''WindowsPowerShell''v1.0''powershell.exe -noexit -command &{ import-module ''srv'PS'MyModule.dll;clear; get-command -Module MyModule}";
shortcut.Save();
正如PetSerAl所评论的那样,使用Arguments
属性将参数传递给可执行文件:
shortcut.TargetPath = @"%Windir%''system32''WindowsPowerShell''v1.0''powershell.exe";
shortcut.Arguments = @"-noexit -command &{ import-module ''srv'PS'MyModule.dll;clear; get-command -Module MyModule}";