使用此逻辑编写Windows Power Shell脚本
大家好,
我的任务是编写一个带有上述逻辑的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有一些选项。
答案 0 :(得分:1)
您放置的代码不多 但这里有一些从......开始的指示。
if((Get-Date).Day -eq 1){
# this is the first day of the month
$yesterdayDay = (Get-Date).AddDays(-1).Day # this is the day of day before
$yesterdayMonth = (Get-Date).AddDays(-1).Month # this is the month of day before
$yesterdayYear = (Get-Date).AddDays(-1).Year # this is the year of day before
$XMLfile = Get-ChildItem -Path "YourXmlFilePath"
# rest of code ...
}
希望它有所帮助。
*在评论中的FORMAT问题后编辑:
$date = (Get-Date).AddDays(-1)
$dateFormat = Get-Date -Format "MMyyyy"
$dateFormat
或一个班轮:
(Get-Date).AddDays(-1) | Get-Date -Format "MMyyyy"
我很高兴你得到了答案;)