使用PowerShell修改时间戳或从csv以指定顺序创建文件

时间:2014-07-24 15:27:09

标签: powershell csv timestamp

我有许多通过使用PowerShell复制原始文件从csv列表创建的文件:

Import-Csv C:\TEST\test.csv | % { Copy-Item -Path $_.oldfilepath –Destination "C:\TEST\$($_.newfilename)”}

其中.oldfile路径是原始文件,.newfilename的格式为xxxxx02012014.filetype

这将获取原始文件,并使用csv中的名称根据需要创建任意数量的副本。但是,这样做时我在资源管理器中查看时丢失了文件的原始/预期顺序,因为它们似乎都是同时创建的(它们实际上是以xxxxx02012014,xxxxx02082014等格式的升序日期顺序排列的。是美国日期格式的一周)。

由于所需的命名约定,我无法对名称进行排序,并且由于文件的生成方式(在同一时间戳),我无法在Windows中创建时间。

是否有一种方法可以确保以相同的顺序创建和列出的文件,或者我可以在后续创建的文件中在PowerShell中运行的其他内容来修改时间戳,以便它们按照所需的顺序出现在Windows资源管理器中,即提升美国日期格式。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

您只需使用原始创建时间戳更新副本的创建时间:

Import-Csv C:\TEST\test.csv | % {
  $target = "C:\TEST\$($_.newfilename)"
  Copy-Item -Path $_.oldfilepath –Destination $target
  (Get-Item $target).CreationTime = (Get-Item $_.oldfilepath).CreationTime
}