【发布时间】:2019-12-04 18:01:45
【问题描述】:
此脚本通过Name、Length 和LastWriteTime 比较FILE 对象。
cls
$Source= "C:\Source"
$Destination = "C:\Destination"
Compare-Object (ls $Source) (ls $Destination) -Property Name, Length, LastWriteTime | Sort-Object {$_.LastWriteTime} -Descending
输出:
Name Length LastWriteTime SideIndicator
---- ------ ------------- -------------
11.0.3127.0.txt 6 8/31/2013 10:01:19 PM <=
11031270.txt 0 8/31/2013 9:43:41 PM <=
11.0.3128.0.txt 13 8/31/20131:20:15PM =>
11.0.3129.0.txt 0 8/28/2013 11:34:38 AM <=
我需要创建一个脚本来检索当前数据库版本并检查是否有单个或多个补丁可用。
它的工作方式如下:
- 对数据库运行 SQL 查询
- 将 SQL 信息存储到 C:\Destination 上的文件名(例如 11.0.3128.0.txt)中
- 将 .txt 文件中的信息与 源文件夹中的文件/补丁进行比较
- 列表项
- 如果 源文件夹 包含旧文件/补丁 -- 什么也不做
- 如果源文件夹包含较新的文件,则将这些文件复制到 C:\NewPatchFolder
- 然后运行脚本以应用所有新补丁
我已经处理了#1、#2。我打算修改/添加到上面的脚本以简化 #3、#4 和 #5 中的步骤。
是否可以修改上述脚本以实现我的目标如下:
- 比较 C:\Source 文件夹中文件的 LastWriteTime 和 C:\Destination 中的文件
- 如果 LastWriteTime 等于或大于 C:\Destination 文件夹中文件的 LastWriteTime,则将 C:\Source 文件夹中的文件复制到 C:\NewPatchFolder
【问题讨论】:
标签: powershell powershell-2.0 powershell-3.0