【问题标题】:How to delete files with wild card in Inno Script Studio?如何在 Inno Script Studio 中删除带有通配符的文件?
【发布时间】:2015-07-28 19:39:40
【问题描述】:

我试图在软件更新期间删除一些文件,但找不到使用通配符删除多个文件的方法。

我知道DeleteFile() 会删除一个文件,但如果我需要删除很多有共同点的文件,我该如何使用 Inno Setup 来做到这一点?

我不能在[InstallDelete] 部分执行此操作,因为我必须确保在满足版本约束时执行此操作。

【问题讨论】:

  • 如果您在条目中添加Check,则可以有条件地处理[InstallDelete] 部分条目。这不是你缺少的吗?

标签: file inno-setup wildcard


【解决方案1】:

感谢@TLama,但我想我会采取不同的做法。

命令行更容易执行:

Exec(ExpandConstant('{cmd}'), '/c del yourStringName.*',     
     location, SW_SHOW, ewWaitUntilTerminated, ExecNumber);

如果你想避免使用 cmd,那么@TLama 指出了一个可以做到这一点的函数:

// Delete files matching C:\Test\*.tmp
DelTree('C:\Test\*.tmp', False, True, False);

【讨论】:

  • 如果你对我的评论回答 no,我会指给你 DelTree 函数(不要被它的名字弄糊涂了,它只能删除文件和它在这种情况下支持通配符)。尽量避免使用 cmd。
  • 谢谢,这个名字真的很混乱。这个功能是我一直在寻找的东西。在您的第一条评论中,您没有指出它,但我认为 [InstallDelete] 是唯一的方法。无论如何,tnx 和我将该功能添加到答案中以使其更清晰
  • 好吧,我个人会将这种命令行方式展示为一种用非常小的字体编写的好奇心。首先,我更喜欢[InstallDelete] 部分中的Check(因此是我最初的评论),接下来是代码中的DelTree 函数。如果这些都不存在,命令行。但无论如何感谢您的修复,+1。
猜你喜欢
  • 2022-11-19
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 2011-02-03
  • 2023-04-06
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
相关资源
最近更新 更多