如何在脚本中复制一系列日期的数据?
我的要求是采取文件夹路径的列表 - 一些在路径中有一个yyyyMMdd日期 - 并根据请求将它们复制到另一个位置。如何在脚本中复制一系列日期的数据?
某些文件夹只需要保持原样复制 一些需要有五个天病史复制,计算过去五年的日期,他们代入的文件夹路径 一些需要做相同的,但15天或90天的历史。
我试图确定最好的方法来做到这一点。我本来打算把它做成BATCH文件,但我看不到如何计算和替换BAT中循环中的日期。
有没有更好的方法来做到这一点在基本脚本,可以从命令行执行?
回答:
尽管这不是一个代码编写服务,但它听起来像是您对该语言的新手,所以这里有些东西可以帮助您完成此任务。在将来,我建议你添加一些你已经试过的代码,因为你可能会得到更多的回应。
# Get-Date is a cmdlet in PowerShell to get the current date # We use AddDays(-5) to subtract however many days we would like. Here we are subtracting 5 days from current date
# ToString converts the data type so that we can use the custom date format of yyyyMMdd
$Date = (Get-Date).AddDays(-5).ToString('yyyyMMdd')
# Get-Item cmdlet in PowerShell is used to get files in a directory
# Select allows us to get a specific piece of data from the files found and ExpandProperty hides the data header
$Files = Get-Item -Path C:\Temp\*$Date.txt | Select -ExpandProperty FullName
# Copies Files Found with Get-Item
Copy-Item -Path $Files -Destination C:\SomePathHere-Verbose -Force
输出将如下所示:
PS C:\> $Date = (Get-Date).AddDays(-5).ToString('yyyyMMdd') # What is stored in $Date variable
PS C:\> $Date
20160708
PS C:\> $Files = Get-Item -Path C:\Temp\*$Date.txt | Select -ExpandProperty FullName
# What is stored in $Files variable
PS C:\> Get-Item -Path C:\Temp\*$Date.txt | Select -ExpandProperty FullName
C:\Temp\Somefile20160708.txt
C:\Temp\SomeOtherFile20160708.txt
PS C:\> Copy-Item -Path $Files -Destination C:\Test -Verbose -Force
VERBOSE: Performing the operation "Copy File" on target "Item: C:\Temp\Somefile20160708.txt Destination: C:\Test\Somefile20160708.txt".
VERBOSE: Performing the operation "Copy File" on target "Item: C:\Temp\SomeFile220160708.txt Destination: C:\Test\SomeOtherFile220160708.txt".
希望这有助于你达成解决方案。 PowerShell非常适合这些类型的任务,我绝对建议您进一步探索它。
以上是 如何在脚本中复制一系列日期的数据? 的全部内容, 来源链接: utcz.com/qa/259557.html