使用 fso.GetAbsolutePathName(".") 检查后如何设置正确的语法 if (fso.FileExists("")) [重复]
Posted
技术标签:
【中文标题】使用 fso.GetAbsolutePathName(".") 检查后如何设置正确的语法 if (fso.FileExists("")) [重复]【英文标题】:How to set correct syntax if (fso.FileExists("")) after checking with fso.GetAbsolutePathName(".") [duplicate] 【发布时间】:2021-07-29 22:11:13 【问题描述】:我正在努力使用正确的语法来设置路径:
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 那是脚本启动的地方,也是我创建文件的地方。 我不能直接使用路径,因为它需要是动态的,文件将被创建和替换 如果存在于启动脚本的同一路径中。
我希望它足够清楚,并且有人可以回答这个问题! 我读过很多例子,但没有一个涵盖这个特殊需求。 谢谢
【问题讨论】:
您可以使用BuildPath Method。if (fso.FileExists(fso.buildpath(Mypath,"myfile.txt"))) then
您好@Flakes,我已经尝试过您的代码,它应该可以工作,但我收到一条错误消息。错误:子函数调用不允许括号错误代码:0x800A0414
@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
你想用fso.DeleteFile(Mypath,"t_")
做什么?如果要在多个位置使用文件的完整路径,请将其存储在变量中并重复使用。 fullPath = fso.buildpath(Mypath,"test.txt")
.
@Flakes 假设这样做是在代码中稍后删除和替换它。如果我在同一路径中启动 VBscript 两次,以确保在其余代码重新创建同一文件之前删除该文件,因为文件名永远不会改变。
【参考方案1】:
Dim FSO 'As FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists("C:\Foobar.txt") Then
statements
End If
Set FSO = Nothing
【讨论】:
以上是关于使用 fso.GetAbsolutePathName(".") 检查后如何设置正确的语法 if (fso.FileExists("")) [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)