Powershell - 将文件夹及其所有内容移动到另一个文件夹

Powershell - move folders and all its contents to another folder

提问人:Henrik Rosqvist 提问时间:10/3/2023 最后编辑:Henrik Rosqvist 更新时间:10/4/2023 访问量:101

问:

我有一个文件夹 H:\FAKTURA,里面有一堆文件夹。 在同一个文件夹中,我有一个名为“ARKIV”的文件夹。 我想将此文件夹中的所有文件夹移动到“ARKIV”文件夹。

我有以下内容,但没有任何反应,没有错误,没有移动文件夹/文件

 $current_logfiles = "H:\FAKTURA\"
 $destination = "H:\FAKTURA\ARKIV\"

 if ((Test-Path -Path $destination)) 
 {
     Move-Item -Path $current_logfiles -Destination $destination - 
     Exclude "H:\FAKTURA\ARKIV"  -force
 }

我收到“拒绝访问路径”H:FAKTURA“的信息 我在这里错过了什么..?我对此文件夹具有完全访问权限,我可以手动执行此操作。我也以管理员身份运行 powershell,但没有成功:(

enter image description here

enter image description here

PowerShell 文件 目录 移动

评论

1赞 Olaf 10/3/2023
首先:为什么不使用robocopy?第二:由于是要从中复制的文件夹的子文件夹,因此必须对 进行例外处理。ARKIVARKIV¯\_(ツ)_/¯
1赞 Olaf 10/3/2023
顺便说一句:在你的 if 条件中,你检查一个你还没有定义的变量。至少不是在你显示的代码中。
1赞 Olaf 10/3/2023
这些线程之一对您有进一步的帮助吗?“powershell”将文件夹移动到子文件夹
0赞 Henrik Rosqvist 10/3/2023
有这个 - 排除了 ARKIV 文件夹 - 但仍然没有任何反应,虽然没有错误 $current_logfiles = H:\FAKTURA“ $new_logfiles = ”H:\FAKTURA\ARKIV“ $excludes = 'ARKIV' if (!(test-path -path $new_logfiles)) { move-item -path $current_logfiles -destination $new_logfiles -exclude $excludes -force }
0赞 Henrik Rosqvist 10/3/2023
我认为将一些文件夹移动到:(是一件容易的事

答:

0赞 leafy911 10/3/2023 #1

你说 H:\FAKTURA\ARKIV 这意味着 Test-Path -path $destination将返回为 True。问题是你否定了结果!(Test-Path -path $destination),它将以 False 的形式返回,因此 If 语句将不起作用。删除“!()'

评论

0赞 Henrik Rosqvist 10/3/2023
嗨,现在我得到了“对路径 H:\Faktura 的访问被拒绝”我对这个文件夹有完全的访问权限,可以在这里手动移动/复制/删除文件
1赞 leafy911 10/4/2023
这是因为您试图将 H:\FAKTURA\ARKIV 复制回自身。您必须将其从命令 -Exclude “H:\FAKTURA\ARKIV” 中排除
0赞 Henrik Rosqvist 10/4/2023
像这样修改它以排除文件夹本身,但相同的错误 - “访问路径 H:\FAKTURA” 被拒绝 $current_logfiles = “H:\FAKTURA\” $destination = “H:\FAKTURA\ARKIV\” if ((test-path -path $destination)) { move-item -path $current_logfiles -destination $destination -exclude “H:\FAKTURA\ARKIV” -force }
0赞 Henrik Rosqvist 10/4/2023
即使我只是执行这个简单的命令,我也会得到“对路径 H:\Faktura 的访问被拒绝 Move-Item -Path ”H:\FAKTURA“ -Destination ”H:\FAKTURA\ARKIV“ -EXCLUDE ”H:\FAKTURA\ARKIV”
0赞 leafy911 10/5/2023
您无法将文件夹移动到其内部的位置,这没有意义,因此您会收到拒绝访问错误。