Powershell脚本 - 压缩,将BAK文件移动到以BAK文件创建日期命名的新文件夹

时间:2016-09-22 10:52:12

标签: powershell compression 7zip

首先,你好,并为这个愚蠢的长标题道歉......

其次,我希望有人可以帮助解决过去4天让我烦恼的简单任务,我会详细说明;

  1. 我有4 x BAK文件,每晚22:30至23:00之间创建。
  2. 每个BAK文件的命名方式不同,我们会以#34; yyyy_MM_dd"格式附加日期。
  3. 我需要将7z每个BAK文件放入单独的存档中,然后将它们移动到一个新目录,该目录以其创建日期或文件的附加日期命名,但保留格式" yyyy_MM_dd"。 (两者显然是相同的,但代码会有所不同,所以最简单的方法)
  4. 我相信我需要一些我需要的脚本单独的行...

    • 创建7z
      

    dir * .bak | ForEach-Object {& " C:\ Program Files \ 7-Zip \ 7z.exe"   a -t7z -mx3($ .Name +" .7z")$ .Name}

    • 用于创建文件夹
      

    $ Folder = New-Item -ItemType Directory -Path   " DRIVE2:\ Folder1中\ FOLDER2 \ $((GET-日期)的ToString(' YYYY-MM-DD'))"

    • 用于移动文件
      

    Get-ChildItem' DRIVE1:\ Folder1 \ Folder2 \ * .7z' |复制项目   -Destination $ Folder

    有人可以指出我在这里完全是金块吗?

    提前致谢

    RobD

1 个答案:

答案 0 :(得分:0)

如果要复制的文件位于DRIVE1:\ Folder1 \ Folder2中,那么您在文件夹和通配符之间缺少斜杠。

Get-ChildItem 'DRIVE1:\Folder1\Folder2\*.7z' | Copy-Item -Destination $Folder