nsis - 如何使用 NSIS 将子目录及其内容移动到另一个目录
问题描述
这是我第一次使用 NSIS,我想编辑一个脚本 NSIS 以允许我:
如果第一次安装 -> 在“C:\Users\ali.ait-mouhoub.ext\AppData”位置创建目录“Affaires”。
如果是更新(因此目录“Affaires”它已经存在于“C:\NOE”中)-> 将目录“Affaires”及其内容移动到“C:\Users\ali.ait-mouhoub.ext\AppData ”。
当前脚本在“C:\NOE”中创建目录“Affaires”。
你能帮我修改我的脚本以满足我的需要吗?
解决方案
如果新旧位置都在同一个卷上,那么您可以使用Rename
:
Section
Rename "$InstDir\Stuff" "$InstDir\OldStuff"
SectionEnd
如果新位置可能在不同的卷上,那么您必须复制+删除:
!include LogicLib.nsh
Section
ClearErrors
CopyFiles /Silent "$InstDir\Stuff" "x:\Backup"
${If} ${Errors}
MessageBox MB_ICONSTOP "Unable to move!"
${Else}
RMDir /R "$InstDir\Stuff"
${EndIf}
SectionEnd
推荐阅读
- salesforce - 内部查询的 SOQL 记录数
- azure - 如何将资源组从禁用的订阅迁移到 Azure 中的工作目录
- react-native - 使用 渲染 iframe 时,Android 在导航回堆栈屏幕时崩溃
- python - 将纯文本从 qTextEdit 复制到 LibreOffice Writer (和)时添加了 html 标签
- angular - Angular-消耗一个再端点,然后在结果中调用另一个端点
- flutter - 在初始化绑定之前访问了 ServicesBinding.defaultBinaryMessenger 的特殊情况
- python - 如何使用 cython --embed 编译 python 代码?
- flutter - 如何在颤动中使用if(登录帐户firebase)更改抽屉幻灯片
- ruby-on-rails - 从rails中的父模型获取子模型多态关联
- excel - Excel COUNTIFS 值不在列表中