Avatar billede ladelund Juniormester
12. august 2022 - 15:20 Der er 8 kommentarer og
1 løsning

BAT file der kan finde en tekst i en csv fil

Hej Eksperter

Jeg har en csv fil der indeholder denne tekst:  "88212934";"88212934";"Starter";"PowerMax";"4543";"5713852373820";"138,56";"EUR";"6"
"88212936";"88212936";"Starter";"PowerMax";"4543";"5713852373844";"91,56";"EUR";"25"
"88212939";"88212939";"Starter";"PowerMax";"4543";"5713852373875";"71";"EUR";"8"
"88212941";"88212941";"Starter";"PowerMax";"4543";"5713852373899";"58,37";"EUR";"8"
"88212943";"88212943";"Starter";"PowerMax";"4543";"5713852373912";"86,86";"EUR";"25"
"88212947";"88212947";"Starter";"PowerMax";"4543";"5713852373950";"";"EUR";"0"
"88212948";"88212948";"Starter";"PowerMax";"4543";"5713852373967";"91,56";"EUR";"23"
"88212952";"88212952";"Starter";"PowerMax";"4543";"5713852374001";"63,35";"EUR";"118"
"88212961";"88212961";"Starter";"PowerMax";"4543";"5713852374094";"73,64";"EUR";"0"

Jeg har brug for et bat script der kan finde forekomster af "" fjerne linjen og gemme resten af den oprindelige csv fil i en ny csv fil.

Håber der ender kan hjælpe.

Venlig Hilsen
Kim
Avatar billede arne_v Ekspert
12. august 2022 - 15:33 #1
Hvorfor BAT og ikke et eller andet mere egnet til opgaven?
12. august 2022 - 15:59 #2
Der er et program som hedder TOTAL-COMMANDER.  Det kan:  finde filer, tekster i filer,  udpakke filer,  og meget meget andet. ANbefaler at du prøver:

https://www.ghisler.com/

Kr
Avatar billede ladelund Juniormester
12. august 2022 - 17:55 #3
Tak for forslaget. Jeg vil kigge på det.
Grunden til at jeg gerne vil have det i BAT er at jeg i forvejen bruger en bat fil til at fjerne den første linje, overskriften, inden bliver uploaded til en FTP server.
Bat filen køres via opgaver på en server.

Kim
Avatar billede arne_v Ekspert
12. august 2022 - 18:17 #4
Et VBS script ville formentligt gøre det nemt at lave og burde sagtens kunne køres med cscript kommandoen.

Er du helt uptodate så er der PowerShell.
Avatar billede bvirk Guru
13. august 2022 - 12:51 #5
Kald vb script fra bat fil anvendende


https://stackoverflow.com/questions/23619809/read-line-per-line-a-txt-file-with-vbs
https://www.w3schools.com/asp/func_instr.asp

En dobbelt anførsels tegn er vistnok i kodetekst """""" (6 efter hinanden)
Avatar billede ladelund Juniormester
15. august 2022 - 12:17 #6
Jeg har prøvet med Powershell uden held.


foreach ($line in Get-Content .\POWERMAX_DK_1.csv) {
  $linearray = $line.split(";");
  if($linearray[6] -ne '') {
      Add-Content .\myTempFile.csv $line
  }
}

Nogen ideer der kan hjælpe?

/Kim
Avatar billede ladelund Juniormester
15. august 2022 - 12:19 #7
Typo fejl:
if($linearray[6] -ne '') {
skal være
if($linearray[7] -ne '') {

men det virker stadig ikke :-(
Avatar billede kulawig Professor
15. august 2022 - 14:53 #8
prøv at rode med dette
1.den fil du vil have renset for linjen med "" hedder test.csv
2. den bliver omdøbt og alle de linjer der IKKE indeholder "" bliver kopieret til OUT.txt
3. out.txt bliver omdøbt til out.csv


@echo off
rename test.csv test.txt
findstr /V """""" test.txt >out.txt
rename out.txt out.csv
pause
Avatar billede ladelund Juniormester
15. august 2022 - 15:12 #9
Tak kulawig :-)

Det var lige det der skule til.

/Kim
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester