从filename.zip复制修改日期并覆盖.ini文件中的现有日期

问题描述 投票:0回答:1

我有一个修改日期为2018年9月4日的文件。

我想复制该文件的修改日期并将其粘贴到.ini文件中。

贴前:

lastdbupdate=20180822 //YYYYMMDD  

粘贴后:

lastdbupdate=20180904  

基本上,它是从我的thumbdrive E:\my folder\dbupdates\mynewdb.zip上的文件中读取/复制修改日期,然后打开.ini文件,找到字符串,并用MODIFIED日期结构替换它(在YYYYMMDD中从默认日期结构更改为C:\programs\program name\data\info.ini)。

我已经找到了几个关于获取日期和复制/粘贴文本的条目,但我还没有能够让它们一起工作!

有没有人有任何想法或文章建议解决这两个问题?

file powershell ini file-writing
1个回答
0
投票
  • 首先检查两个文件是否存在
  • 然后获取zip的属性并将.LastWriteTime格式化为yyyyMMdd
  • 使用具有零长度positive lookbehind断言的RegEx来替换lastdbupdate

## Q:\Test\2018\09\06\SO_52196744.ps1

$dbzip   = 'E:\my folder\dbupdates\mynewdb.zip'
$inifile = 'C:\programs\program name\data\info.ini'

If ((Test-Path $dbzip) -and (Test-Path $iniFile)){
    $lastdbupdate=(Get-Item $dbzip).LastWriteTime.ToString('yyyyMMdd')
    (Get-Content $iniFile) -replace "(?<=^lastdbupdate=)\d{8}.*$",$lastdbupdate |
     Set-Content $iniFile
}
© www.soinside.com 2019 - 2024. All rights reserved.