2016-11-15 74 views
0

我需要创建从C:\用户\%当前用户%\ AppData \本地\ Micro Focus \ Rumba \ MFrame rdsm文件快捷方式到startmenu下一个名为rumba的子文件夹。此文件夹中还有其他文件。我也可以创建文件夹快捷方式并忽略某些文件?Powershell代码创建快捷方式启动菜单,但只包括rdsm文件

我有这样的事情现在

$TargetFile = "$env:SystemRoot\System32\notepad.exe" 
$ShortcutFile = "$env:Public\Desktop\Notepad.lnk" 
$WScriptShell = New-Object -ComObject WScript.Shell 
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile) 
$Shortcut.TargetPath = $TargetFile 
$Shortcut.Save() 

回答

1

我假设你已经证明正在努力创建一个快捷方式的代码,你现在只是在文件夹中列出的内容需要循环和寻找rdsm文件。你会像下面这样做。 (请注意,我不知道“RDSM”文件使用什么扩展,所以你可能不得不更换过滤器的那部分。)

$Files = get-childitem -path $AppDataPath -file | Where-object {$_.Extension -eq ".rdsm"} 

foreach($file in $files){ 
    $TargetFile = $file.path 
    $ShortcutFile = "$env:Public\Desktop\$($file.name.substring(0,$file.name.length - 4).lnk" 
    *rest of your code here* 
} 

怪异的字符串解析让你的快捷方式文件的工作。

+0

由于.lnk扩展名不可见,为什么不保留原来的扩展名? – LotPings

+0

大部分只是为了避免在开始菜单中显示文件扩展名,这看起来有点不可思议,但对该部分没有真正的要求。 –

相关问题