【问题标题】:Changing a programs "start in" property via batch file通过批处理文件更改程序“开始于”属性
【发布时间】:2018-12-16 04:53:51
【问题描述】:

我正在尝试通过批处理文件更改程序的“开始于”属性,以获取我正在为 Windows 10 编写的安装脚本。我无法找到有关在何处或如何执行此操作的任何信息。我一直在与注册表打交道其他原因,但我似乎无法在注册表中找到这些字段。为了更清楚,这是我尝试更改的照片。

这是一个图片链接,因为我的声誉太低了: https://cdn.discordapp.com/attachments/362700323099246593/523723895199629315/GetAttachmentThumbnail.png

【问题讨论】:

  • 所有快捷方式数据都包含在 .lnk 文件中。您不能通过批处理文件修改 .lnk 文件。
  • 如果.lnk 只是一个文本文件,它可以从批处理文件中修改,或者可以使用许多不同的脚本方法或工具从头开始重新创建。然而,本网站的目的不是为您执行此操作,而是帮助您修复自己的问题。 edit the question 包含您的代码并解释它是如何未能按预期工作的原因
  • @com: .lnk 文件使用二进制文件格式。
  • @IInspectable,我专门使用If 是有原因的,如果你否定If 评论会声明it could be recreated from scratch using many different scripting methods or tools。无论如何,在 George 提供他们遇到问题的代码之前,或者至少提供有关快捷方式位置和相关快捷方式属性的信息之前,此站点不适合解决他们的问题。

标签: windows batch-file installation


【解决方案1】:

我偏爱使用原生 Windows 组件的解决方案。 PowerShell 可以访问Windows shell object,这是定义所有快捷方式行为的地方(或者至少可以访问)。

在您的情况下,您想设置“WorkingDirectory”字段。

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\MyShortcut.lnk")
$Shortcut.TargetPath = "path\to\parametric.bat"
$Shortcut.WorkingDirectory = "C:\Data\proengineer"
$Shortcut.Save()

更多信息

【讨论】:

    【解决方案2】:

    下载Shortcut.zip 并将其解压缩到一个临时目录。读取文件ReadMe.txt,将Marty List编写的小可执行文件Shortcut.exe复制到批处理文件的目录中。

    在批处理文件中使用:

    "%~dp0Shortcut.exe" /F:"C:\Path of\Shortcut.lnk" /A:E /W:"C:\Full path to new\Start in"
    

    小可执行文件Shortcut.exe当然也可以用来创建*.lnk文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 2018-04-10
      • 2023-03-20
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多