我有一个文件(blank.xls),我想多次复制并重命名为以下格式:
1 - 4月\ 01042018.xls 1 - 4月\ 02042018.xls ... 12 - 3月\ 31032019.xls
理想情况下也应该创建文件夹。
我不介意每个月都有一个最多31个文件,因为这很容易删除。
我试过和Powershell一起玩,但这不是我的强项 - 如果可能的话,我只是在寻找正确方向的指针?
感谢您的帮助!
答案 0 :(得分:1)
你可以试试这个。文件和文件夹创建在与模板文件相同的文件夹中。
$startdate = [datetime]"04/01/2018"
$untildate = [datetime]"04/01/2019" #Untildate NOT included
$template = Get-Item "D:\Test\blank.xlsx"
$duration = $untildate - $startdate
for ($i = 0; $i -lt $duration.Days; $i++) {
#Compute new name/path
$d = $startdate.AddDays($i)
$month = ($d.Month - $startdate.Month) + 12 * ($d.Year - $startdate.Year) + 1
$newpart = "{0} - {1}" -f $month, $d.ToString("MMM\\ddMMyyyy", [cultureinfo]::InvariantCulture)
$NewFilePath = $template.FullName.Replace($template.BaseName,$newpart)
#Create new copy of template
try {
$template | Copy-Item -Destination $NewFilePath
} catch [System.IO.DirectoryNotFoundException] {
#Folder is missing, create destination and retry
New-Item -Path (Split-Path -Path $NewFilePath) -ItemType Container > $null
$template | Copy-Item -Destination $NewFilePath
}
}