Как установить правильный синтаксис, если (fso.FileExists()) после проверки с помощью fso.GetAbsolutePathName(.)

Я борюсь с правильным синтаксисом для установки пути:

if (fso.FileExists("myfile.txt")) then ....

Я использую это:

set fso = WScript.CreateObject("Scripting.FileSystemObject")
Mypath = fso.GetAbsolutePathName(".")
if (fso.FileExists("myfile.txt")) then...

насколько я понимаю, fso.GetAbsolutePathName(.) знает путь, откуда был запущен мой скрипт, и при тестировании я вижу правильный путь с помощью:

call MsgBox(Mypath)

например, MsgBox показывает c:\users\user\desktop, где был запущен скрипт и где я создаю свои файлы. Я не могу использовать путь напрямую, потому что он должен быть динамическим, файлы будут создаваться и заменяться, если они существуют по тому же пути, по которому был запущен скрипт.

Я надеюсь, что это было достаточно ясно, и что кто-то может ответить на это! Я прочитал много примеров, но ни один из них не охватывает эту конкретную потребность. Спасибо


person DoomneT    schedule 07.05.2021    source источник
comment
Вы можете использовать Метод BuildPath. if (fso.FileExists(fso.buildpath(Mypath,"myfile.txt"))) then   -  person Flakes    schedule 08.05.2021
comment
Здравствуйте @Flakes, я попробовал ваш код, он должен работать, но я получаю сообщение об ошибке. Ошибка: вызов подфункции не допускает код ошибки скобок: 0x800A0414   -  person DoomneT    schedule 08.05.2021
comment
@Flakes это то, что я сделал: set fso = WScript.CreateObject("Scripting.FileSystemObject") Mypath = fso.GetAbsolutePathName(".") if (fso.FileExists(fso.buildpath(Mypath,"test.txt"))) then fso.DeleteFile(Mypath,"t_")end if   -  person DoomneT    schedule 08.05.2021
comment
Что вы пытаетесь сделать с fso.DeleteFile(Mypath,"t_")? Если вы собираетесь использовать полный путь к файлу в нескольких местах, сохраните его в переменной и используйте повторно. fullPath = fso.buildpath(Mypath,"test.txt").   -  person Flakes    schedule 08.05.2021
comment
@Flakes предполагается, что это нужно сделать, чтобы удалить и заменить его позже в коде. Если я дважды запускаю VBscript по одному и тому же пути, он должен убедиться, что файл удален до того, как остальная часть кода воссоздаст тот же файл, потому что имя файла никогда не изменится.   -  person DoomneT    schedule 08.05.2021
comment
fso.DeleteFile fullPath ? (Ошибка, которую вы получали, из-за этого)   -  person Flakes    schedule 08.05.2021
comment
@Flakes, ты имеешь в виду вот это ?set fso = WScript.CreateObject("Scripting.FileSystemObject") Mypath = fso.GetAbsolutePathName(".") Fullpath = fso.buildpath(Mypath,"test.txt") if (fso.FileExists(Fullpath,"test.txt")) then fso.DeleteFile(Fullpath,"test.txt") end if   -  person DoomneT    schedule 08.05.2021
comment
@Flakes Я не могу проголосовать за ваш ответ, потому что вы его не создавали.   -  person DoomneT    schedule 08.05.2021