我正在向 msdeploy 传递多个跳过参数,以便不同步(删除和更新)某些目录和文件。
-skip:skipAction='Update',objectName='filePath',absolutePath='.*\\documents\\.*'
似乎无法正常工作,一些目录和文件被删除。 我非常确定给定给absolutePath的正则表达式没有问题。
请问有人能够解释跳过规则的匹配方式吗? 显然它并不按照正则表达式和objectName的要求工作。
我正在向 msdeploy 传递多个跳过参数,以便不同步(删除和更新)某些目录和文件。
-skip:skipAction='Update',objectName='filePath',absolutePath='.*\\documents\\.*'
似乎无法正常工作,一些目录和文件被删除。 我非常确定给定给absolutePath的正则表达式没有问题。
请问有人能够解释跳过规则的匹配方式吗? 显然它并不按照正则表达式和objectName的要求工作。
看这里:
http://forums.iis.net/p/1192163/2031814.aspx#2031813
跳过规则的应用是基于对实际对象(目录或文件)进行同步操作(删除、更新、添加)的顺序。
例如,如果对目录执行删除操作,则在删除操作中对目录内的文件设置的跳过规则将无法防止文件被删除!
在我的情况下,目录MySite\MobileForms被完全删除。我为文件设置的跳过规则是无用的。
对于目录,我的错误在于正则表达式:
-skip:skipAction='Delete',objectName='dirPath',absolutePath='.*\\MobileForms\\.*'
应该是:
-skip:skipAction='Delete',objectName='dirPath',absolutePath='.*\\MobileForms$'
它表示应忽略删除目录路径MobileForms(第一个规则错误地包含了斜杠在正则表达式中)。
希望这也能帮助其他人。