我有一个运行.bat文件的脚本应用程序,并且每隔x天定期备份我的计算机上的文件。它非常简单,我将它用于那些没有良好备份功能的程序。
在下面的示例中,我在.bat文件中设置了一个或多个环境变量,然后在调用python脚本时在列表中调用它们。
我的代码:
set LIGHTROOM_PROGRAMDATA=ProgramData\Adobe\Lightroom
set LIGHTROOM_PICTURES=Some_User\Pictures\Lightroom
set LIGHTROOM_APPDATA=Some_User\AppData\Roaming\Adobe\Lightroom
set LIGHTROOM_DB_BACKUP=Some_Backup_Location
python path_to_python_script\software_backup.py -s %LIGHTROOM_PICTURES% %LIGHTROOM_APPDATA% %LIGHTROOM_PROGRAMDATA% -d %LIGHTROOM_DB_BACKUP%
其中-s是我要备份的源目录,-d是我要将这些文件发送到的目录。
我想要的是什么:
我希望能够编写可能无限数量的环境变量,这些变量可以在.bat文件中定义,或者从另一个文本文件添加到.bat文件中,以便脚本具有更多智能。为了使其工作,脚本必须“知道”#34;哪些环境变量应由脚本(导入的)与用户在系统级别可能具有的其他环境变量进行备份。我宁愿这样做:
我目前的解决方案:
现在我已经使用命名前缀/后缀来查找匹配项,然后将它们用于脚本,但我不想强制使用命名约定来实现此功能。
是否有一个更清晰的解决方案来区分.bat中设置的环境变量与我目前使用的环境变量之间的其他环境变量?