需要根据csv更改文件创建日期

时间:2016-04-01 02:49:48

标签: powershell batch-file

大家晚上好。 我已经能够使用以下命令更改文件的创建日期属性$(Get-Item test1.html).CreationTime = $(Get-Date" 11/24/2010 06:00 am")

我的问题是我有10000个文件需要根据csv文件完成。 CSV有两列文件名或文件创建日期。 CSV和文件位于同一文件夹中。如何根据第2列中的相应日期重命名文件

例如

1.pdf  2010/12/12
2.pdf  2011/13/01
3.pdf  1989/12/12

etc

提前致谢。也许我可以使用powershell来做到这一点 我可以使用excel创建第3列来获得以下内容。在powershell窗口中复制和粘贴不起作用

$(Get-Item 1.pdf).CreationTime=$(Get-Date "11/24/2010 06:00 am")
$(Get-Item 2.pdf).CreationTime=$(Get-Date "11/24/2009 06:00 am")

但是如何在powershell中运行此文件。

2 个答案:

答案 0 :(得分:1)

假设您的csv文件有2个标头:FileName& FileCreationTIme

Import-Csv -Path 'pathtoyourcsvfile' | 
    ForEach-Object { (Get-Item $_.filename).CreationTime = (Get-date $_.filecreationTime) }

答案 1 :(得分:0)

您可以使用dirfindstrfor循环

dir /T:C *.pdf>tmp.txt & findstr " PM " tmp.txt >files.txt & findstr " AM " tmp.txt >>files.txt & del tmp.txt
for /F "tokens=1,2,3,4,5 delims= " %%A in (files.txt) do (echo %%E               %%A %%B %%C) & if exist files.txt del files.txt