如何使用NSIS将带有其内容的子目录移动到另一个目录

时间:2019-04-11 15:17:08

标签: nsis

这是我第一次使用NSIS,我想编辑一个脚本让NSIS允许我:

如果是第一次安装->在位置“ C:\ Users \ ali.ait-mouhoub.ext \ AppData”中创建目录“ Affaires”。

如果是更新(因此目录“ Affaires”已经存在于“ C:\ NOE”中)->将目录“ Affaires”及其内容移动到“ C:\ Users \ ali.ait-mouhoub”。 ext \ AppData”。

当前脚本在“ C:\ N.O.E”中创建目录“ Affaires”。

您能帮我修改脚本以满足我的需要吗?

1 个答案:

答案 0 :(得分:0)

如果新位置和旧位置都在同一卷上,则可以使用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