Windows Vista Forums

Directory Listing

  1. #1


    Ken Guest

    Directory Listing

    I have developed a routine which prepares a directory listing for a specific
    folder and save this information into a text file. This text file would be
    used to send the required files via SFTP to a unix server.

    My problem is that the case of the file name changes to lower case. For
    example, the file name would appear in the folder as OPICS_Greeks.txt but
    would appears as opics_greeks.txt in the text file. How can I retain the
    original file name structure in the text file?

    Below is the snippet:-

    Set objTextFile = objFSO.OpenTextFile _
    (StrFileName, ForAppending, True)

    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colFileList = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='" & strLocalFolder & "'} Where " _
    & "ResultClass = CIM_DataFile")

    For Each objFile In colFileList
    ' Define Short Name
    StrFile = Len (objfile.Name)
    StrDiff = (StrFile - strStart) + 1
    ShortName = MID(objfile.name, strStart, StrDiff)
    'Write Files to be transmitted to Text file
    objTextFile.WriteLine ShortName
    Next

    'Close Transmit Text File
    objTextFile.close

      My System SpecsSystem Spec

  2.   


  3. #2


    Pegasus \(MVP\) Guest

    Re: Directory Listing


    "Ken" <Enygma@xxxxxx> wrote in message
    news3BA784E-FC19-41B2-B059-85B215C348A1@xxxxxx

    >I have developed a routine which prepares a directory listing for a
    >specific
    > folder and save this information into a text file. This text file would be
    > used to send the required files via SFTP to a unix server.
    >
    > My problem is that the case of the file name changes to lower case. For
    > example, the file name would appear in the folder as OPICS_Greeks.txt but
    > would appears as opics_greeks.txt in the text file. How can I retain the
    > original file name structure in the text file?
    >
    > Below is the snippet:-
    >
    > Set objTextFile = objFSO.OpenTextFile _
    > (StrFileName, ForAppending, True)
    >
    > Set objWMIService = GetObject("winmgmts:" _
    > & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    >
    > Set colFileList = objWMIService.ExecQuery _
    > ("ASSOCIATORS OF {Win32_Directory.Name='" & strLocalFolder & "'} Where
    > " _
    > & "ResultClass = CIM_DataFile")
    >
    > For Each objFile In colFileList
    > ' Define Short Name
    > StrFile = Len (objfile.Name)
    > StrDiff = (StrFile - strStart) + 1
    > ShortName = MID(objfile.name, strStart, StrDiff)
    > 'Write Files to be transmitted to Text file
    > objTextFile.WriteLine ShortName
    > Next
    >
    > 'Close Transmit Text File
    > objTextFile.close
    Use the File System object instead of WMI to obtain a list of your
    files. It preserves the case of the file names.

    BTW, the statement
    ShortName = Mid(objFile.name, strStart, StrDiff)
    is unlikely to work. Not only is strStart undefined but it needs to
    be an integer, not a string.



      My System SpecsSystem Spec

  4. #3


    Ken Guest

    Re: Directory Listing

    Thanks for your insight.

    Would you be able to guide me to some sample coding using file system object?

    As for your observation, the coding convention was incorrect as the
    variables are integer. Also, that was only a portion of the actual script,
    the strStart variable was defined in the original script. I have, however,
    redefine the variable name to show as intStart as well as the other variables
    in that computation.

    Thanks

    "Pegasus (MVP)" wrote:

    >
    > "Ken" <Enygma@xxxxxx> wrote in message
    > news3BA784E-FC19-41B2-B059-85B215C348A1@xxxxxx

    > >I have developed a routine which prepares a directory listing for a
    > >specific
    > > folder and save this information into a text file. This text file would be
    > > used to send the required files via SFTP to a unix server.
    > >
    > > My problem is that the case of the file name changes to lower case. For
    > > example, the file name would appear in the folder as OPICS_Greeks.txt but
    > > would appears as opics_greeks.txt in the text file. How can I retain the
    > > original file name structure in the text file?
    > >
    > > Below is the snippet:-
    > >
    > > Set objTextFile = objFSO.OpenTextFile _
    > > (StrFileName, ForAppending, True)
    > >
    > > Set objWMIService = GetObject("winmgmts:" _
    > > & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    > >
    > > Set colFileList = objWMIService.ExecQuery _
    > > ("ASSOCIATORS OF {Win32_Directory.Name='" & strLocalFolder & "'} Where
    > > " _
    > > & "ResultClass = CIM_DataFile")
    > >
    > > For Each objFile In colFileList
    > > ' Define Short Name
    > > StrFile = Len (objfile.Name)
    > > StrDiff = (StrFile - strStart) + 1
    > > ShortName = MID(objfile.name, strStart, StrDiff)
    > > 'Write Files to be transmitted to Text file
    > > objTextFile.WriteLine ShortName
    > > Next
    > >
    > > 'Close Transmit Text File
    > > objTextFile.close
    >
    > Use the File System object instead of WMI to obtain a list of your
    > files. It preserves the case of the file names.
    >
    > BTW, the statement
    > ShortName = Mid(objFile.name, strStart, StrDiff)
    > is unlikely to work. Not only is strStart undefined but it needs to
    > be an integer, not a string.
    >
    >
    >

      My System SpecsSystem Spec

  5. #4


    Pegasus \(MVP\) Guest

    Re: Directory Listing

    Try this:
    strLocalFolder = "d:\Temp"
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    For Each oFile In oFSO.GetFolder(strLocalFolder).Files
    WScript.Echo oFile.Name
    Next


    "Ken" <Enygma@xxxxxx> wrote in message
    news:33314A1E-1B50-4CF9-966E-63E1A52F7F83@xxxxxx

    > Thanks for your insight.
    >
    > Would you be able to guide me to some sample coding using file system
    > object?
    >
    > As for your observation, the coding convention was incorrect as the
    > variables are integer. Also, that was only a portion of the actual script,
    > the strStart variable was defined in the original script. I have, however,
    > redefine the variable name to show as intStart as well as the other
    > variables
    > in that computation.
    >
    > Thanks
    >
    > "Pegasus (MVP)" wrote:
    >

    >>
    >> "Ken" <Enygma@xxxxxx> wrote in message
    >> news3BA784E-FC19-41B2-B059-85B215C348A1@xxxxxx

    >> >I have developed a routine which prepares a directory listing for a
    >> >specific
    >> > folder and save this information into a text file. This text file would
    >> > be
    >> > used to send the required files via SFTP to a unix server.
    >> >
    >> > My problem is that the case of the file name changes to lower case. For
    >> > example, the file name would appear in the folder as OPICS_Greeks.txt
    >> > but
    >> > would appears as opics_greeks.txt in the text file. How can I retain
    >> > the
    >> > original file name structure in the text file?
    >> >
    >> > Below is the snippet:-
    >> >
    >> > Set objTextFile = objFSO.OpenTextFile _
    >> > (StrFileName, ForAppending, True)
    >> >
    >> > Set objWMIService = GetObject("winmgmts:" _
    >> > & "{impersonationLevel=impersonate}!\\" & strComputer &
    >> > "\root\cimv2")
    >> >
    >> > Set colFileList = objWMIService.ExecQuery _
    >> > ("ASSOCIATORS OF {Win32_Directory.Name='" & strLocalFolder & "'}
    >> > Where
    >> > " _
    >> > & "ResultClass = CIM_DataFile")
    >> >
    >> > For Each objFile In colFileList
    >> > ' Define Short Name
    >> > StrFile = Len (objfile.Name)
    >> > StrDiff = (StrFile - strStart) + 1
    >> > ShortName = MID(objfile.name, strStart, StrDiff)
    >> > 'Write Files to be transmitted to Text file
    >> > objTextFile.WriteLine ShortName
    >> > Next
    >> >
    >> > 'Close Transmit Text File
    >> > objTextFile.close
    >>
    >> Use the File System object instead of WMI to obtain a list of your
    >> files. It preserves the case of the file names.
    >>
    >> BTW, the statement
    >> ShortName = Mid(objFile.name, strStart, StrDiff)
    >> is unlikely to work. Not only is strStart undefined but it needs to
    >> be an integer, not a string.
    >>
    >>
    >>


      My System SpecsSystem Spec


Directory Listing

Similar Threads
Thread Forum
Q321379 - Printing Directory Listing with Vista Vista print fax & scan
Compare-Object on directory listing PowerShell
Can't Print Directory Listing Vista General
How to create a virtual directory in "My Computer" listing Vista file management
Reboot on smb directory listing Vista networking & sharing