我有一个文本文档,其中包含 80 个类似格式的文件名。每个文件名的最后 4 位数字表示其子目录位置,例如:
wheat_bread_12345678.doc
将始终位于\\\\emcfiler\user\grains\56\78
;
wheat_bread_12346942.doc
将始终位于\\\\emcfiler\user\grains\69\42
我使用 foreach 浏览文件,然后使用 if/then 将文件名与其目录匹配并将其复制到其他地方。
我的脚本不是查找每个文件并将其与文件夹匹配,而是查找从文本文档中的最后一个文件名派生的目录中的每个文件。例如,最后一个文件名是,wheat_bread_12348723.doc
并且脚本正在尝试查找中的每个文件\\\\emcfiler\user\grains\87\23
。
这是我的脚本和其中一个(79)错误:
$f = Get-Content \\\\emcfiler\user\ace\lax_brd.txt
foreach ($file in $f) {
if ($f -match ".*_\d{4,4}(\d\d)(\d\d)\.doc") {
$sourcePath = "\\\\emcfiler\user\grains\" + "$($matches[1])\$($matches[2])\" + $file
$destinationPath = "\\\\emcfiler\user\new_grains\"
Copy-Item $sourcePath $destinationPath
}
else
{
Write-Error "Can't find folder path from $f"
}
}
错误:
复制项目:找不到路径“\\emcfiler\user\grains\87\23\wheat_bread_12345678.doc”,因为它不存在。