从filename.zip复制修改后的日期,并覆盖.ini文件中的现有日期
我有一份文件,修改日期为2018年9月4日 我想复制文件的修改日期并将其粘贴到从filename.zip复制修改后的日期,并覆盖.ini文件中的现有日期,file,powershell,ini,file-writing,File,Powershell,Ini,File Writing,我有一份文件,修改日期为2018年9月4日 我想复制文件的修改日期并将其粘贴到.ini文件中 粘贴前: lastdbupdate=20180822 //YYYYMMDD 粘贴后: lastdbupdate=20180904 因此,本质上,它是从我的thumbdriveE:\my folder\dbupdates\mynewdb.zip上的文件读取/复制修改后的日期,然后打开.ini文件,找到字符串,并用修改后的日期结构替换它(在C:\programs\program name\dat
.ini
文件中
粘贴前:
lastdbupdate=20180822 //YYYYMMDD
粘贴后:
lastdbupdate=20180904
因此,本质上,它是从我的thumbdriveE:\my folder\dbupdates\mynewdb.zip
上的文件读取/复制修改后的日期,然后打开.ini
文件,找到字符串,并用修改后的日期结构替换它(在C:\programs\program name\data\info.ini
中,从默认日期结构更改为YYYYMMDD
我找到了几个关于日期和复制/粘贴文本的条目,但我还没能把它们结合起来
有没有可能有人提出了解决这两个问题的想法或文章建议?- 首先检查两个文件是否存在
- 然后获取zip的属性,并将
格式化为.LastWriteTime
yyyyMMdd
- 使用带有零长度断言的正则表达式替换
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((测试路径$dbzip)-和(测试路径$ini文件)){
$lastdbupdate=(获取项$dbzip).LastWriteTime.ToString('yyyyMMdd'))
(获取内容$iniFile)-替换“(?嗨,大卫!你能分享你迄今为止尝试过的代码吗?你好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是名为和的部分。更重要的是,请阅读。你可能还想了解。我对更正表示歉意。我试图提供正确数量的信息,但我猜我没有戴上帽子。谢谢你,Gvee。我会在一段时间内下班回家,并尝试提供所需的信息。尝试以与clijsters回复一致的方式表达…我非常感谢!这看起来与我拼凑的东西大不相同,但这意味着我可能真的走错了方向!当我回到家里,我将运行此程序并发布结果!感谢您抽出时间!!
## 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
}