【问题标题】:How to extract file lists using modified date- process Powershell or Batch如何使用修改后的日期处理 Powershell 或 Batch 提取文件列表
【发布时间】:2018-11-19 03:26:11
【问题描述】:

重要

四处搜索,但找不到任何解决方案。

尝试使用 Power shell 在特定日期提取几个文件。我是这个概念的新手。

要求:一个文件夹中的文件少,修改日期不同。脚本应根据修改日期选择文件名。如果假设我今天正在运行脚本 - 它应该只选择今天修改过的日期文件。作为参数,它应该采用系统日期(get-Date)。

例如:a.xml 文件 b.xml 文件 c.xml 不同修改日期的文件

按照上面的例子-需要根据修改日期提取文件列表。就像每天一样,它必须使用系统日期作为参数值只选择当天的文件列表。

试过了:

  $time = (Get-Date)
  Get-ChildItem C:\Users\manians\Desktop\PH_PROD\ *.pdf -Recurse | ` Where-Object {$_.LastWriteTime -lt $time}|select -Property name, fullName, LastWriteTime| Export-Csv 'C:\Users\manians\Desktop\PH_PROD\fileAndDate.csv' -NoTypeInformation 

【问题讨论】:

  • 每个文件的实际名称是什么?您的示例看起来可能是三个没有扩展名的文件 - 但我不清楚。我假设您想要文件名中的日期字符串,而不是文件系统日期信息。 [grin] ---- 另外,第一个在11 之后是否缺少/?
  • 很抱歉造成混淆。这些文件是 xml 文件。我想根据日期提取。每天,必须运行脚本以使用当前日期作为参数来提取文件列表。
  • 所以...日期在文件中?如果没有实际的 XML 内容,就无法猜测日期在哪里或如何找到它。 [皱眉] 你没有提供有意义的细节来对你想做的任何事情进行任何有用的尝试。 [叹息...]
  • No No. 实际上,我的意思是说这些文件的修改日期。
  • 投票结束过于广泛,你没有给出例子,没有尝试等。我可以提供帮助,但你需要帮助我,帮助你。文件名是不可能的,因为文件名中不允许使用 /。你明白我的意思吗?

标签: powershell batch-file


【解决方案1】:

您可以使用以下命令获取当前目录中今天修改的所有对象:

Get-ChildItem | Where-Object {$_.LastWriteTime.Date -eq (Get-Date).Date}

【讨论】:

  • 也许问题是如何获取昨天日期的文件?提示:AddDays(-1)
  • 如果我们添加 - AddDays(-1)。它需要所有比今天更早的记录。如果,我们只需要前一天的数据?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2017-10-21
  • 1970-01-01
相关资源
最近更新 更多