如何在脚本中复制一系列日期的数据?

我的要求是采取文件夹路径的列表 - 一些在路径中有一个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

回到顶部