如果目录不存在,Powershell的“Move-Item”不会创建目录

时间:2012-12-17 10:09:00

标签: powershell

我有一个Powershell脚本,可以执行很多操作,其中一个是移动文件:

$from = $path + '\' + $_.substring(8)
$to   = $quarantaine + '\' + $_.substring(8)

Move-Item $from $to

但是$to路径中的目录结构尚未出现。所以我希望Powershell能够用这个突击队员创造它。我试过了Move-Item -Force $from $to,但这并没有帮助。

我可以做些什么来确保Powershell创建所需的目录以使其正常工作? 我希望自己清楚,如果没有,请问!

2 个答案:

答案 0 :(得分:10)

您可以自己创建:

$from = Join-Path $path $_.substring(8)
$to = Join-Path $quarantaine $_.substring(8)

if(!(Test-Path $to))
{
    New-Item -Path $to -ItemType Directory -PathType Container -Force | Out-Null
}

Move-Item $from $to

答案 1 :(得分:3)

您可以使用system.io.directory .NET类检查目标目录,如果不存在则创建。 以下是使用变量的示例: -

if (!([system.io.directory]::Exists($quarantine))){
   [system.io.directory]::CreateDirectory($quarantine)
}
Copy-File $from $to