Pakettfaili failinime edastamiseks csv-faili
- Probleem
- Lahendus
- Märge
Probleem
Ma otsin kirjutada Windowsi partiifaili, mis otsib fikseeritud faili fikseeritud kaustas (nt c: folderfile1.csv) ja kasutage dir-käsku failinime ja viimase kirjaliku kuupäeva väljastamiseks teisele csv-failile (st c : folderfile2.csv). Väljund peab olema kahes veerus ja see avaneb failil2.2.vv:
file1.csv 10/14/2008 15:38
See tundub olevat üsna lihtne partii, kuid ma püüan piirata oma väljundit ainult nendele kahele atribuudile ja panna need kahte esimesse veergu ja faili2.csv esimesse rida.
Igasugune abi oleks väga teretulnud. Tänu!
Lahendus
Vajalik skript on järgmine:
____________________Begin Code__________________
Dim Filepath Dim Faili nimi Dim OutputFile Filepath = "c: test" 'Muuda seda, et määrata filepath Filename = "file1.csv"' Faili nimi, mida viimati muudetud kuupäev / kellaaeg on vaja OutputFile = "file2.csv" 'Fail väljundi tulemused seada objFSO = CreateObject ("Scripting.FileSystemObject") Kui ei objFSO.FileExists (FilePath & OutputFile), siis seadke objFile = objFSO.CreateTextFile (Filepath & OutputFile) Wscript.sleep (2000) 'Peata faili loomise ajal Lõpeta Kui kui objFSO.FileExists (Filepath & Fileename) siis Set objFile = objFSO.GetFile (Filepath & Fileename) Lastmodifieddate = objFile.DateLastModified Const kirjutamine = 2 Set outputFile = objFSO.OpenTextFile (Filepath & "file2.csv", kirjutamine) " faili kirjutamiseks OutputFile.Write failinimi & ", " & objFile.DateLastModified 'Kirjutage faili nimi ja viimane muudetud kuupäev väljundfailile OutputFile.Close End Kui seatud objFSO = Nothing
____________________End Kood__________________
Kolm muutujat, filepathi, failinime ja väljundfaili, mis on loodud liinidel 5, 6 ja 7, saab muuta, et võtta vastu mis tahes teed ja failinimi, mida te määrate, ning luuakse fail reas 7 samal teel.
Kui salvestate selle koodi test.vbs failiks, siis peate oma partiifailis sisestama rida "Call test.vbs". Ilmselgelt, kui muudate vbs-faili nime, peate oma partiifailis sellele viitama.
Märge
Täname Swarvet selle foorumi vihje eest.