RRRSystems Posted September 5, 2013 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 Link to comment Share on other sites More sharing options...
RRRSystems Posted September 6, 2013 Author 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 Link to comment Share on other sites More sharing options...
justsomeguy Posted September 6, 2013 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. Link to comment Share on other sites More sharing options...
RRRSystems Posted September 6, 2013 Author 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 Link to comment Share on other sites More sharing options...
justsomeguy Posted September 6, 2013 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now