我可以调用函数内的函数吗?
问题描述:
Function foldercheck(Inputfoldername)
If objFSO.FolderExists(Inputfoldername) = False Then
WriteLogFileLine logfile, "Folder " & Chr(34) & Inputfoldername & _
Chr(34) & " does not exists, so exiting the script !" & vbCrLf
SQuit=1
Else
WriteLogFileLine logfile, "Folder " & Chr(34) & Inputfoldername & _
Chr(34) & " exists" & vbCrLf
End If
foldercheck = SQuit
End Function
Function quitscript()
If SQuit = 1 Then WScript.Quit
End Function
Function FolderExitsornot(Inputfoldername)
Call foldercheck(Inputfoldername)
Call quitscript
End Function
我已更新我的脚本,现在的问题是,每次目标文件夹不存在时,我的脚本退出,而我的要求是它应该显示所有目标文件夹不存在的日志消息,然后退出脚本。这就是为什么我写了2个函数然后在一个主函数内调用它们的原因。我可以调用函数内的函数吗?
答
我想到你居然问了两件事情:
- 是否有可能从一个函数中调用一个函数?
- 是否可以在函数中定义一个函数?
第一个问题的答案是肯定的。第二个答案是否定的 - 您必须将函数声明移出FolderExitsornot
-函数。
+0
请参阅上面的修改脚本。但我还无法达到预期的效果。 – Pals
您发布的代码只有一个目标文件夹('Inputfoldername'),因此它基本上已经显示“所有”目标文件夹的日志消息。 –
@AnsgarWiechers - '(Inputfoldername)'是从一个文本文件传入的,该文件可能有许多条目,基本上是整个文件路径。 – Pals
无论何时文件夹丢失,您都将'SQuit'(显然是一个全局变量)设置为1。在接下来的步骤中,调用一个函数,一旦'SQuit'取值1,就立即退出脚本。你期望会发生什么?当然如果你告诉它脚本会在第一个丢失的文件夹中退出。 –