Batchbestand om bestandsnaam naar csv-bestand uit te voeren

  • Kwestie
  • Oplossing
  • Notitie

Kwestie

Ik ben op zoek naar een Windows-batchbestand dat op zoek is naar een vast bestand in een vaste map (bijv. C: folderfile1.csv) en gebruik de opdracht dir om de bestandsnaam en de laatste schriftelijke datum naar een tweede csv-bestand uit te voeren (bijv. : folderfile2.csv). De uitvoer moet in twee kolommen zijn en er ongeveer zo uitzien wanneer u file2.csv opent:

file1.csv 10/14/2008 15:38

Dit lijkt een redelijk eenvoudige batch, maar ik heb moeite om mijn uitvoer te beperken tot alleen deze twee attributen en deze in de eerste twee kolommen en de eerste rij van file2.csv te plaatsen

Alle hulp wordt zeer op prijs gesteld. Bedankt!!!

Oplossing

Het script dat je nodig hebt is als volgt:

____________________ Code code__________________

 Dim Filepath Dim Bestandsnaam Dim OutputFile Filepath = "c: test \" 'Bewerk dit om het bestandspad te specificeren Filename = "file1.csv"' Naam van het bestand dat de laatste bewerkte datum / tijd nodig heeft OutputFile = "file2.csv" 'Bestand naar uitvoerresultaten naar Set objFSO = CreateObject ("Scripting.FileSystemObject") Als dit niet objFSO.FileExists (FilePath & OutputFile) is, stel dan objFile = objFSO.CreateTextFile (Filepath & OutputFile) Wscript.sleep (2000) in 'Pauzeren terwijl bestand wordt aangemaakt Einde If If objFSO.FileExists (Filepath & Filename) en vervolgens Set objFile = objFSO.GetFile (Filepath & Filename) Lastmodifieddate = objFile.DateLastModified Const ForWriting = 2 Set outputFile = objFSO.OpenTextFile (Filepath & "file2.csv", ForWriting) 'Open bestand om te schrijven OutputFile.Write Bestandsnaam & ", " & objFile.DateLastModified 'Schrijf bestandsnaam en datum van de laatste wijziging naar uitvoerbestand OutputFile.Close End Indien ingesteld objFSO = Niets 

____________________Einde code__________________

De drie variabelen, bestandspad, bestandsnaam en uitvoerbestand die zijn ingesteld op regel 5, 6 en 7 kunnen worden gewijzigd om elk pad en bestandsnaam op te halen dat u opgeeft en het bestand op regel 7 op hetzelfde pad maken.

Als u die code opslaat als test.vbs-bestand, moet u in uw batchbestand de regel "Call test.vbs" invoeren. Het is duidelijk dat als u de naam van het vbs-bestand wijzigt, u de verwijzing ernaar in uw batchbestand moet wijzigen.

Notitie

Bedankt aan Swarve voor deze tip op het forum.

Vorige Artikel Volgende Artikel

Top Tips