使用PowerShell从每日文件夹中复制文件



我希望每天将每天创建的文件移至另一个文件夹。这些文件每天将这些文件保存到相关的yyyy mm 文件夹中。现在,我创建了一种使用年度/月日期函数将这些文件移动到这些文件的方法,但是,因为本月附有一个数字,即12月看起来" 12月12日"变得有些棘手。

我试图用IF语句对此进行修改,该语句将" A"分配给与月相对应的相关号码,但不起作用。

$year = (Get-Date).Year
$month = Get-Date -Format "MMMMMMMM"
$day = (Get-Date).Day
$a = ""

If ($month = "January") { $a = "1."}
Elseif ($month = "February") { $a = "2."}
Elseif ($month = "March") { $a = "3."}
Elseif ($month = "April") { $a = "4."}
Elseif ($month = "May") { $a = "5."}
Elseif ($month = "June") { $a = "6."}
Elseif ($month = "July") { $a = "7."}
Elseif ($month = "August") { $a = "8."}
Elseif ($month = "September") { $a = "9."}
Elseif ($month = "October") { $a = "10."}
Elseif ($month = "November") { $a = "11."}
Elseif ($month = "December") { $a = "12."}

$month = Get-Date -Format $a" MMMMMMMM"

Copy-Item -Path F:BB$year$monthScan.pdf  -Destination F:BB

任何想法如何解决此问题/我要在哪里出错。这是我第一次在Powershell中写作。

编辑:我在复制的文件位置中遇到错误,不会在Coressponding月份注册差异。例如,if语句指出,如果月份为= 12月A应该=12。但目前为1。如果是1月

本月的不同形式也可以在格式字符串中重复,其中

M    = month number without leading zeroes
MM   = month number with    leading zeroes
MMM  = abbreviated month name 
MMMM = full month name

so:

$Month = Get-Date -f "M. MMMM"

> $Month
12. December

由于格式字符串可以包含一个您可以在一个步骤中构建源路径的任何字母:
(如果干扰格式字母,则逃脱了后斜线)

$Source = "F:BB{0:yyyy\M. MMMM}Scan.pdf" -f (Get-Date)

> $Source
F:BB201812. DezemberScan.pdf

但是我错过了这里的日子?

如果使用 $month = Get-Date -Format "MM"这将使您这个月成为一个数字。如果我了解您要实现的目标应该与您的源路径相匹配。

$Date = get-date
$Path = "F:BB" + "$($Date.year)" + "" + "$($Date.month)" + ""
Copy-Item -Path $Path -Destination F:BB

最新更新