基本理念:
脚本1 - 镜像从驱动器到下一个目标路径的目录结构。我觉得我的工作非常体面。
$target = Read-Host "What is the target path?"
$destination = "Z:\This\Is\The\Destination"
Copy-Item $target -Filter {PSIsContainter} -Recurse -Destination $destination -Force
脚本2 - 用于浏览$ target路径并查找-ge
-le
-eq
个{{1}的文件和文件夹},然后在文本文件中输出位置。
lastwritetime
脚本3 - 我遇到问题的地方。我知道我可以使用$path = read-host "What path would you like to search?"
$daysOLD = read-host "How many days old should the files I'm looking for be?"
$outfile = "C:\locationOFtheTEXTfile\ReadThis.txt"
$today = Get-Date
$targetdate = $today.AddDays(-$daysOLD).ToString('MM-dd-yyyy')
$files = Get-ChildItem $path -Recurse| Where-Object {$_.lastwritetime.ToString('MM-dd-yyyy') -le $targetdate} | ForEach-Object {$_.fullname}| out-file $outfile
并指向文本文件的位置。我遇到的困难是让脚本读取文件,测试路径,而不是在Get-Content
中创建重复项。
由于我使用第一个路径镜像了目录结构,我只需要第三个脚本将文件移动到新驱动器上的相应文件夹中。
$destination
这个剧本是从网上拍摄的,我没有机会为自己找到它的零件和碎片。我知道这听起来很可怜,但我不想尝试重新发明轮子是必要的。