【问题标题】:File System Object : MoveFolder gives random "Permission Denied" Errors文件系统对象:MoveFolder 给出随机的“权限被拒绝”错误
【发布时间】:2019-08-24 02:20:34
【问题描述】:

我在 Powershell 中使用文件系统对象来执行一些文件夹循环:假设有 oldFolder、currentFolder 和 newFolder,这就是过程:

  1. 删除旧文件夹
  2. 将当前文件夹移动到旧文件夹
  3. 将新文件夹移动到当前文件夹

在脚本中运行时,第 2 步或第 3 步随机抛出 CTL_E_PERMISSIONDENIED。 当脚本停止时,我重复最后一个命令并正确完成。

好像 MoveFolder 方法是半异步工作的。

ps:文件夹有子文件夹和很多文件

我尝试增加一些延迟,但不知道发生了什么我很不高兴。

$oldFolder = "D:\test\folder_OLD"
$curFolder = "D:\test\folder"
$newFolder = "D:\test\folder_NEW"

$fso = $fso = New-Object -ComObject scripting.filesystemobject

if (Test-Path $oldFolder) {$fso.DeleteFolder($oldFolder)}

if (Test-Path $curFolder) {$fso.MoveFolder($curFolder,$oldFolder)}

$fso.MoveFolder($newFolder,$curFolder)

【问题讨论】:

标签: powershell filesystemobject


【解决方案1】:

感谢您的快速回复。这证实了我的猜想。

我会尝试使用另一种方法,也许是 Lee 提出的纯 powershell。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 2017-02-02
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    相关资源
    最近更新 更多