2016-10-11 10 views
0

ziehen Ich habe unter Skript, die zusätzlichen Platz nach Komma (,) entfernt. Meine Anforderung ist wie folgt.Wie dynamisch den letzten Dateinamen zum Skript

So kopieren Sie den neuesten DATEINAME in das myFile-Attribut, wie unten gezeigt. Können wir das folgende Skript ändern, um die aktuellste Datei anstelle von mir manuell zu ziehen?

Set objFSO = CreateObject("Scripting.FileSystemObject") 

Dim filetxt 
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
Const fmtUnicode = -1, fmtASCII = 0, fmtDefault = -2 

Set re = New RegExp 
Dim strInput 
Dim Matches 
Dim Match 

Dim myFile 
'change the following file path to point to your file 
myFile = "\\dgggsym\g_t_t_t$\CDO_MTK_SMT\Business Performance Reporting\Hari krishna\csvtotab\usp_GO_CallDetailsByVqueue_2016-09-27.csv" 

re.IgnoreCase = True 

Set filetxt = objFSO.OpenTextFile(myFile, ForReading, False, fmtDefault) 

Dim arrFileLines() 
i = 0 
Do Until filetxt.AtEndOfStream 
    ReDim Preserve arrFileLines(i) 
    arrFileLines(i) = filetxt.ReadLine 

    strInput = arrFileLines(i) 
    'WScript.Echo(strInput) 

    re.Pattern = "\s" 
    re.Global = True 

    arrFileLines(i) = re.Replace(strInput, "") 
    'WScript.Echo(arrFileLines(i)) 

    i = i + 1 
Loop 

filetxt.Close 

Set filetxt = objFSO.OpenTextFile(myFile, ForWriting, False, fmtDefault) 
For j = LBound(arrFileLines) To UBound(arrFileLines) 
    filetxt.WriteLine(arrFileLines(j)) 
Next 
filetxt.Close 

Set filetxt = Nothing 
+2

* Können wir das folgende Skript ändern, um die neueste Datei anstelle von mir manuell zu ziehen? * Sicher können wir. Werden wir es für dich tun? Es ist sehr unwahrscheinlich, dass Sie keine Anstrengung von Ihrer Seite gesehen haben. Was hast du versucht, das selbst zu lösen? Was waren die Ergebnisse deiner Versuche? Wie waren sie anders als erwartet? Wie identifizieren Sie die "neueste Datei" überhaupt? –

+0

Und den letzten Pfad zu identifizieren, den ich unten Code verwendet habe, der die Datei aus der Quelle in den angegebenen Pfad zieht strSource = gegeben mein Pfad strDest = gegeben mein Pfad intDays = 1 - nimmt letzte Datei (1 Tag) Set ObjFSO = Create ("Scripting.FileSystemObject") Set ObjFolder = objFSO.GetFolder (strSource) On Error Resume Next Set objFiles = objFolder.Files dtmEarliestDate = DateAdd ("d", -intDays, Now()) For Each objFile In objFiles Wenn objFile.DateLastModified> CDate (dtmEarliestDate) Dann objFSO.copyFile objFile, strDest –

+0

@KrishNa - wenn Sie mehr Code schreiben müssen, tun Sie dies als a n Bearbeiten Sie Ihre Frage nicht als Kommentar. Dadurch können Sie den Code so formatieren, dass er lesbar ist. – FloatingKiwi

Antwort

0

konnte ich die Lösung

habe ich unten bekommen Sie den Dateinamen bekommen, um den Pfad anzuhängen.

für/f "delims =" %% x in ('dir/od/a-d/b.) Stelle "Recent = %% x"

und verwendet! Letzten! um den Namen zu bekommen.

Verwandte Themen