如何一次性批量备份所有用户指定文件夹下的Alteryx数据
全用户Alteryx配置备份方案
可以通过单个Windows批处理脚本一次性完成本机所有用户的Alteryx用户数据备份,无需安装额外工具,全部使用系统自带命令实现,操作门槛极低。
操作步骤
- 桌面空白处右键,选择「新建」-「文本文档」
- 双击打开新建的文本文档,将下方的完整脚本代码全部复制粘贴进去
- 点击文本文档左上角「文件」-「另存为」,保存类型选择「所有文件」,文件名填
Alteryx全量备份.bat,编码选择UTF-8,保存到桌面即可 - 右键点击桌面上生成的
Alteryx全量备份.bat文件,选择「以管理员身份运行」,等待脚本执行完成即可
完整脚本代码
@echo off chcp 65001 >nul :: 配置备份文件存放的根目录,可根据需要自行修改路径 set "BACKUP_ROOT=C:\AlteryxUserBackup" :: 备份根目录不存在则自动创建 if not exist "%BACKUP_ROOT%" mkdir "%BACKUP_ROOT%" :: 遍历C盘Users目录下的所有用户文件夹 for /d %%userDir in (C:\Users\*) do ( set "curUser=%%~nxuserDir" set "srcLocal=%%userDir\AppData\Local\Alteryx" set "srcRoaming=%%userDir\AppData\Roaming\Alteryx" setlocal enabledelayedexpansion set "dstLocal=%BACKUP_ROOT%\!curUser!\AppData\Local\Alteryx" set "dstRoaming=%BACKUP_ROOT%\!curUser!\AppData\Roaming\Alteryx" :: 仅当用户存在Local下的Alteryx目录时才执行备份 if exist "!srcLocal!" ( if not exist "!dstLocal!" mkdir "!dstLocal!" robocopy "!srcLocal!" "!dstLocal!" /E /log:"%BACKUP_ROOT%\!curUser!\BackupLogLocal.txt" ) :: 仅当用户存在Roaming下的Alteryx目录时才执行备份 if exist "!srcRoaming!" ( if not exist "!dstRoaming!" mkdir "!dstRoaming!" robocopy "!srcRoaming!" "!dstRoaming!" /E /log:"%BACKUP_ROOT%\!curUser!\BackupLogRoaming.txt" ) endlocal ) echo 所有用户Alteryx配置数据备份完成! pause
说明事项
- 必须以管理员身份运行脚本:普通权限无法读取其他用户目录下的AppData隐藏文件夹,会导致备份遗漏
- 脚本自动过滤无效目录:会自动跳过没有安装/使用过Alteryx的用户目录,包括系统内置的Public、Default等账户文件夹,不会生成空的备份文件和无效日志
- 备份结构和原有单用户脚本完全一致:每个用户的备份数据、运行日志都存放在
C:\AlteryxUserBackup\对应用户名路径下,还原时直接按用户复制回对应路径即可 - 中文用户名兼容:脚本开头的
chcp 65001命令专门处理中文用户名乱码问题,无需额外调整 - 自行编写for循环未成功的核心原因是批处理循环内默认不开启变量延迟扩展,遍历过程中用户名变量无法正确替换,加上未做权限适配、源目录存在校验,最终执行失败。
内容的提问来源于stack exchange,提问作者J Gimps
相关产品推荐
相关产品推荐

