【发布时间】:2014-12-12 19:05:57
【问题描述】:
使用此逻辑编写 Windows Power Shell 脚本
- 获取当前日期并验证是否是该月的第一天
- 如果是,则计算前一天(以便计算前 2 年/月值)
- 搜索 XMLA 文件以用新值替换以前的年/月组合
大家好,
我的任务是编写具有上述逻辑的 powershell 脚本。这个脚本需要每天在我在工作中维护的系统上运行。我是编程新手,所以我很难开始。如果有人有任何信息可以将我推向正确的方向,我将不胜感激。先感谢您。
另外,我会经常检查这个,所以如果有人有任何问题,请询问。谢谢
编辑:
以下是我需要编辑的文件中的代码:
<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Type>ProcessFull</Type>
<Object>
<DatabaseID>OLAPQA</DatabaseID>
<CubeID>Model</CubeID>
<MeasureGroupID>TRANSACTIONS</MeasureGroupID>
<PartitionID>TRANSACTIONS 201410</PartitionID>
</Object>
</Process>
<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Type>ProcessFull</Type>
<Object>
<DatabaseID>OLAPQA</DatabaseID>
<CubeID>Model</CubeID>
<MeasureGroupID>TRANSACTIONS</MeasureGroupID>
<PartitionID>TRANSACTIONS 201411</PartitionID>
</Object>
</Process>
<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Type>ProcessFull</Type>
<Object>
<DatabaseID>OLAPQA</DatabaseID>
<CubeID>Model</CubeID>
<MeasureGroupID>TRANSACTIONS</MeasureGroupID>
<PartitionID>TRANSACTIONS 201412</PartitionID>
</Object>
</Process>
所以当它是一个月的第一天时,我需要进入这个文件并将每个日期值基本上增加一个。如果这有助于回答任何问题,只是想添加它。仍在处理所有逻辑,但我会在遇到问题时发布问题。谢谢大家。
编辑 2:
得到了我需要的输出:
(Get-Date).AddMonths(-2) | Get-Date -Format "yyyyMM"
(Get-Date).AddMonths(-1) | Get-Date -Format "yyyyMM"
(Get-Date) | Get-Date -Format "yyyyMM"
现在需要查看 Get-ChildItem 来编辑文件。这可能比我想象的要困难,因为标签是相同的。希望这个 cmdlet 有一些选项。
【问题讨论】:
-
Get-Date 肯定是您想要开始的地方。有了它,您可以轻松计算前一天、前一个月。然后你可能想查看 Get-ChildItem 来浏览文件并获取它们的属性。
-
不错。非常感谢你。我现在就开始搜索这个。
标签: windows powershell batch-file maintenance