Batch file => create *.bat met data van excel of txt

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • nvdb2810
  • Registratie: December 2012
  • Laatst online: 06-09-2022
Ik heb een excel file met volgende data

name ip commando

a1 192.168.1.1 start C:\putty\putty.exe -ssh 192.168.1.1
a2 192.1683.1.2 start C:\putty\putty.exe -ssh 192.168.1.2

Dit met ongeveer 1000 records.

Ik wens nu een bat file te maken die:
- een nieuwe bestand maakt genoemd naar kolom name: a1.bat /a2.bat / .....
- die het volgende in de file zet : C:\putty\putty.exe -ssh 192.168.1.1 voor file a1.bat
C:\putty\putty.exe -ssh 192.168.1.2 voor file a2.bat


Is dit mogelijk?

Ik kan eventueel de data in aparte txt files zetten indien het moeilijk is om de data uit de excel file te halen.

Ik heb dus een bat file nodig die op zijn beurt ongeveer 1000 nieuwe bat-files aanmaakt.

Alvast bedankt voor de hulp! _/-\o_

Grtn,

Nicolas

Acties:
  • 0 Henk 'm!

  • LnC
  • Registratie: Juni 2005
  • Laatst online: 24-03 20:32

LnC

The offending line...

Wat bij mij binnenschoot was dit (leesvoer)

code:
1
C:\putty\putty.exe -ssh 192.168.1.1 > filename.txt


Of denk ik in de verkeerde hoek.

Acties:
  • 0 Henk 'm!

Verwijderd

Of het met een batch-file eenvoudig te realiseren valt durf ik zo snel niet te zeggen, maar met AutoHotkey zou het geen probleem moeten zijn.

Acties:
  • 0 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 16:51
Via een powershell script is dit zeer simpel te realiseren.
Je zal echter wel het Excel sheet moeten converteren naar een CSV bestand.
Dmv import-CSV zou je dan het CSV bestand in kunnen lezen. Vervolgens kan je een foreach loop maken welke de variable voor de kolom "name" gebruikt als filename en de als content de kolom "commando" gebruikt in een file.

Acties:
  • 0 Henk 'm!

Verwijderd

Quick 'n dirty Autohotkey-scriptje:

Converteer Excel-sheet naar hosts.csv.

Maak een convert.ahk met de volgende regels:

code:
1
2
3
4
5
6
7
8
Loop, Read, hosts.csv
     {
     Loop, Parse, A_LoopReadLine, CSV
        {
        Var%A_Index% = %A_LoopField%
          }
     FileAppend, %Var3%, %Var1%.bat
     }


En voer het uit (via Autohotkey).