VBScript, хотя файл существует - PullRequest
0 голосов
/ 02 июня 2018

Эта штука убьет меня, или я убью ее.Я не могу сказать, что я делаю, но я продолжаю получать файл, не найденный после того, как я удаляю файл в операторе while.

        MsgBox FSO.FileExists(file.path)'Returns True as a test
        While (FSO.FileExists(file.path))
            If objZip.Items.Item(0).Name = FSO.getfilename(file.path) Then
                FSO.DeleteFile (file.path)
                MsgBox FSO.FileExists(file.path)'Returns False as a test
            End If

            WScript.Sleep 100

        Wend

Может кто-то указать мне, что я делаю неправильно?У меня есть похожий код в другом рабочем скрипте.

1 Ответ

0 голосов
/ 03 июня 2018

При удалении файла на диске ссылка на него, которая хранится в переменной file, больше не действительна.Сохраните значение file.Path в переменной и измените код для его использования.

Dim filePath

    filePath = file.Path
    While FSO.FileExists( filePath )
        FSO.DeleteFile filePath 
    Wend

Примечание - предыдущий код просто раскрывает подход к ссылкам на файл.Если DeleteFile завершится неудачно (мы зациклились на удалении файла), потребуется обработка ошибок и ожидание цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...