根据名称,我们的源位置可以处理两种类型的文件。第一个以BEGIN TRY
-- Generate divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
-- Execute code if error
END CATCH;
开头,另一个以DM_psedocharge_<curentdate in YYYYMMDD format>.csv
开头。
现在,需求说明第一个文件应传输到目标文件夹Monthly_Extract_<curentdate in YYYYMMDD format>.csv
,第二个文件将移动到C:\DMRelated
文件夹。两种情况下,源文件夹都是通用的。
我试图在if条件下基于reg es捕获正确的文件。如果条件为C:\MonthlyExtract
,则移动到"^DM_"
,否则移动到C:\DMRelated
。但是我选择的表达方式似乎不正确。有人可以帮我吗?我是脚本Power Shell的新手。
答案 0 :(得分:1)
由于您一直在寻找当前日期,因此不需要模式匹配-您已经知道文件的确切名称!
Set-Location "C:\source\location"
Move-Item "DM_psedocharge_$(Get-Date -Format yyyyMMdd).csv" -Destination C:\DMRelated
Move-Item "Monthly_extract_$(Get-Date -Format yyyyMMdd).csv" -Destination C:\MonthlyExtract
在上面的示例中,我们使用带有Get-Date
参数的-Format
cmdlet(默认为当前日期和时间)来获取格式为yyyyMMdd
的格式化日期字符串>