使用Power Shell根据文件名传输文件

时间:2018-08-28 05:48:10

标签: regex file powershell transfer

根据名称,我们的源位置可以处理两种类型的文件。第一个以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的新手。

1 个答案:

答案 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的格式化日期字符串