RRRSystems 0 Posted September 5, 2013 Report Share Posted September 5, 2013 Hello, I have a similar post in this forum, I may have asked my question incorrectly. I have a file "C:RRRSystemsScriptIncludeClass.Script.vbs." how can I get this file name from a Subroutine within the script itself. The file is an Include in a file "C:RRRSystemsScriptX-Testing.wsf" <job id = "X-Testing.wsf"> <script language = "VBScript" Src = ".Include/Class.Script.vbs"/></job> If I use WScript.ScriptName or WScript.ScriptFullName in the file "C:RRRSystemsScriptIncludeClass.Script.vbs." it returns the name of the .wsf "C:RRRSystemsScriptX-Testing.wsf". Perhaps because it is an included file. Any Ideas? Thanks, Raney Quote Link to post Share on other sites
RRRSystems 0 Posted September 6, 2013 Author Report Share Posted September 6, 2013 This seems to be the way to go, But I need to enter the file name to get the file name Sub ShowFileInfo() Dim FSO, F Set fso = CreateObject("Scripting.FileSystemObject") 'Set F = FSO.GetFile() 'Wrong Number of Arguments 'Set F = FSO.GetFile("") 'Invalid Procedure Call or Argument 'Set F = FSO.GetFile(".") 'File Not Found 'Argument in examples is always filespec, but nobody explains filespec Set F = FSO.GetFile("C:RRRSystemsSoftwareScript.IncludeClass.Script.vbs") 'This works but I want it for the current file whatever that may be 'even if I rename, move it or use the class in another Script MsgBox F.Name 'MsgBox = F.Path 'MsgBox = F.ShortName 'MsgBox = F.ShortPath 'MsgBox = F.DateCreated 'MsgBox = F.DateLastAccessed 'MsgBox = F.DateLastModifiedEnd Sub Raney Quote Link to post Share on other sites
justsomeguy 1,135 Posted September 6, 2013 Report Share Posted September 6, 2013 I don't think it's possible in VBScript. The WScript object only has a few properties and methods, there isn't much there. Quote Link to post Share on other sites
RRRSystems 0 Posted September 6, 2013 Author Report Share Posted September 6, 2013 I can get the name of the .wsf Script with WScript.ScriptName or WScript.ScriptFullName. What I am looking for is the name of the .vbs Script I know these don't exist, but something like Me.Name or My.Name when I use it in the included .vbs Script. Raney Quote Link to post Share on other sites
justsomeguy 1,135 Posted September 6, 2013 Report Share Posted September 6, 2013 I know what you're looking for, and I am suggesting that Microsoft did not make that possible to do programmatically. PHP, for example, has a "magic constant" called __FILE__ which holds the absolute path to the file that contains the constant, regardless of how it was included or executed (there are other ways to get things like the name of the file that was requested, which file included the current file, etc). I don't think that anyone bothered to create something similar in VBScript. The best you have is WScript.ScriptFullName. Here is the reference for the WScript object: http://msdn.microsoft.com/en-us/library/at5ydy31(v=vs.84).aspx If you scroll down to properties and methods, you can see that it is fairly limited. Maybe you can set a variable in the file that includes the other one to say which file is about to be included, and then check that variable in the included file. I haven't done a lot of work with VB in general so I'm sure what all of your options are. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.