将3个月以上的Wav文件复制到存档中,创建年\月路径

用户名

我希望有人可以帮我解决这个令我困惑的脚本,我对powershell不太好;)

我要实现的是一个脚本,该脚本将扫描源文件的文件夹和子文件夹,查找超过60天的* .wav文件,然后将其移至存档目标,创建\ year \ month的文件夹结构

这就是我所拥有的

$SourceDir = "d:\test"
$DestinationDir = "e:\test"
$files = get-childitem $SourceDir *.wav
foreach ($file in $files) 
{
$Directory = $DestinationDir + "" + $file.CreationTime.Date.ToString('yyyy') + "\" + $file.CreationTime.Date.ToString('MM-MMM')
if (!(Test-Path $Directory))
{
New-Item $directory -type directory
}
where-object {$_.LastWriteTime -lt (get-date).AddDays(-61)} | move-item $file.fullname $Directory
}

该脚本运行无误,但不会移动文件:/

--

在下面的Keiths评论之后,我的脚本看起来像这样:

$SourceDir = "d:\test\"
$DestinationDir = "e:\test\"
$date = (get-date).AddDays(-91)
$files = get-childitem -literalpath $SourceDir *.wav
foreach ($file in $files) 
{
$Directory = $DestinationDir + "" + $file.CreationTime.Date.ToString('yyyy') + "\" + $file.CreationTime.Date.ToString('MM-MMM')
if (!(Test-Path $Directory))
{
New-Item $directory -type directory
}
if ($file.LastWriteTime -lt $date) {
    Write-Host $file
    move-item -LiteralPath $file.fullname -Destination $Directory
}
}

并且工作正常!谢谢基思

基思·希尔

Where-Object永远不在管道的开头。它需要输入来填充$_您通常用来比较变量。将该行替换为:

if ($file.LastWriteTime -lt (get-date).AddMonths(-3)) {
    move-item $file.fullname $Directory
}

尽管我会在循环外计算日期:

$date = (get-date).AddMonths(-3)

并在循环中使用它:

...
if ($file.LastWriteTime -lt $date) {
    Move-Item -LiteralPath $file.fullname -Destination $Directory
}
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以将文件复制到zip存档中?

来自分类Dev

Linux:将3个文件的文本内容复制到1个文件中

来自分类Dev

将文件复制到创建的目录中

来自分类Dev

将旧电子邮件复制到存档子文件夹中

来自分类Dev

Python将CD文件复制到WAV

来自分类Dev

如何根据文件的时间戳(一个月中的某天)将文件复制到另一个目录中?

来自分类Dev

Centos将文件复制到另一个文件(如果存在)中,创建一个版本

来自分类Dev

将完整的文件路径复制到复制粘贴剪贴板中

来自分类Dev

如何将文件多次复制到文件系统中随机选择的路径中?

来自分类Dev

如何将 Azure blob 中的文件复制到 Linux 中的某些路径

来自分类Dev

MSBuild使用通配符将文件复制到目录路径

来自分类Dev

将文件路径从GUI复制到命令行

来自分类Dev

使用python脚本将文件复制到网络路径

来自分类Dev

使用 Makefile 将文件列表复制到特定路径

来自分类Dev

如何将gedit中当前打开的文件的路径复制到剪贴板?

来自分类Dev

如何将文件复制到 Bash 脚本中带有空格的路径?

来自分类Dev

将每行从2个文件复制到1个文件的Windows批处理中

来自分类Dev

将一个文件夹中的多个文件复制并复制到一个主文件中

来自分类Dev

在 UWP 的 LocalFolder 中创建一个文件夹并将文件复制到其中

来自分类Dev

将文件从多个文件夹复制到一个文件夹中

来自分类Dev

如何将超过12个月的文件夹移动到VBA中的另一个存档文件夹?

来自分类Dev

批处理文件将3个文件复制到新目录

来自分类Dev

在多个目录下查找文件,并将文件的完整路径复制到创建的文本文件中

来自分类Dev

对于我在Visual Studio 2013中的类库项目;使用生成后事件如何将创建的dll复制到另一个路径?

来自分类Dev

将两个源文件复制到python中的一个目标

来自分类Dev

以bash不同的顺序将所有文件的内容复制到一个文件中

来自分类Dev

将文件的数据多次复制到另一个文件中

来自分类Dev

将一个文件复制到不同名称的文件夹中

来自分类Dev

excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

Related 相关文章

  1. 1

    是否可以将文件复制到zip存档中?

  2. 2

    Linux:将3个文件的文本内容复制到1个文件中

  3. 3

    将文件复制到创建的目录中

  4. 4

    将旧电子邮件复制到存档子文件夹中

  5. 5

    Python将CD文件复制到WAV

  6. 6

    如何根据文件的时间戳(一个月中的某天)将文件复制到另一个目录中?

  7. 7

    Centos将文件复制到另一个文件(如果存在)中,创建一个版本

  8. 8

    将完整的文件路径复制到复制粘贴剪贴板中

  9. 9

    如何将文件多次复制到文件系统中随机选择的路径中?

  10. 10

    如何将 Azure blob 中的文件复制到 Linux 中的某些路径

  11. 11

    MSBuild使用通配符将文件复制到目录路径

  12. 12

    将文件路径从GUI复制到命令行

  13. 13

    使用python脚本将文件复制到网络路径

  14. 14

    使用 Makefile 将文件列表复制到特定路径

  15. 15

    如何将gedit中当前打开的文件的路径复制到剪贴板?

  16. 16

    如何将文件复制到 Bash 脚本中带有空格的路径?

  17. 17

    将每行从2个文件复制到1个文件的Windows批处理中

  18. 18

    将一个文件夹中的多个文件复制并复制到一个主文件中

  19. 19

    在 UWP 的 LocalFolder 中创建一个文件夹并将文件复制到其中

  20. 20

    将文件从多个文件夹复制到一个文件夹中

  21. 21

    如何将超过12个月的文件夹移动到VBA中的另一个存档文件夹?

  22. 22

    批处理文件将3个文件复制到新目录

  23. 23

    在多个目录下查找文件,并将文件的完整路径复制到创建的文本文件中

  24. 24

    对于我在Visual Studio 2013中的类库项目;使用生成后事件如何将创建的dll复制到另一个路径?

  25. 25

    将两个源文件复制到python中的一个目标

  26. 26

    以bash不同的顺序将所有文件的内容复制到一个文件中

  27. 27

    将文件的数据多次复制到另一个文件中

  28. 28

    将一个文件复制到不同名称的文件夹中

  29. 29

    excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

热门标签

归档