【发布时间】:2018-08-28 05:48:09
【问题描述】:
就名称而言,我们的源位置有两种类型的文件可供使用。第一个以DM_psedocharge_<curentdate in YYYYMMDD format>.csv 开头,另一个以Monthly_Extract_<curentdate in YYYYMMDD format>.csv 开头。
现在要求规定第一个文件应传输到目标文件夹C:\DMRelated,第二个文件将移动到C:\MonthlyExtract 文件夹。这两种情况的源文件夹都很常见。
我尝试根据 if 条件中的 reg es 表达式捕获正确的文件。如果条件数学 "^DM_" 然后移动到 C:\DMRelated 否则移动到 C:\MonthlyExtract。但是我选择的表达方式似乎不对。有人可以帮我吗?我是编写 Power Shell 脚本的新手。
【问题讨论】:
-
嗨 Nilanjan,请提供示例代码和错误消息/有关您的代码的不当行为的详细信息。
-
没有错误但是不满足匹配模式的条件。例如,我使用了 $source = "E:\welcom\SHOP\DEVIBM\Data\Exports\MovementUpdateToDebtManager\Out" $destination = "E:\Nianjan" if(-not (Test-Path $destination)) { mkdir $目的地 | out-null} $pattern = "(^DM_*)" foreach ($i in Get-ChildItem -Path $source -Recurse) { if (($i.Name -notmatch $pattern) -and (-not $i. PsIsContainer)) { Write-Host "Test" continue; } Copy-Item -Path $i.FullName -Destination $i.FullName.Replace($source,$destination).Trim($i.Name) }
标签: regex file powershell transfer