freshman2017
Goto Top

Batch - Spalte von 1 hochzähle Spalte b fester Wert

Hallo Ihr,

ich habe mit nachfolgendem Skript die Zahlen in "Spalte A" von 1 hochzählen lassen:

@echo off

set a=-1

:Beginn
set /a a=%a%+1
if %a% LSS 10 echo 0000000%a%>>test.csv
if %a% GTR 9 if %a% LSS 100 echo 000000%a%>>test.csv
if %a% GTR 99 if %a% LSS 1000 echo 00000%a%>>test.csv
if %a% GTR 999 if %a% LSS 10000 echo 0000%a%>>test.csv
if %a% GTR 9999 if %a% LSS 100000 echo 000%a%>>test.csv
if %a% GTR 99999 if %a% LSS 1000000 echo 00%a%>>test.csv
if %a% GTR 999999 if %a% LSS 10000000 echo 0%a%>>test.csv
if %a%==999999 goto :ende
Goto :Beginn

:ende

PAUSE

in Spalte B würde ich jetzt gerne zusätzlich noch überall die einen festen Wert bspw. = test
stehen haben. Geht das?

Beste Grüße

freshman2017

Content-Key: 368224

Url: https://administrator.de/contentid/368224

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: Pjordorf
Pjordorf 15.03.2018 um 16:09:14 Uhr
Goto Top
Hallo,

Zitat von @freshman2017:
ich habe mit nachfolgendem Skript die Zahlen in "Spalte A" von 1 hochzählen lassen:
Von welcher "Spalte A" redest du überhaupt? Ich sehe nur deine test.csv. Und da gibt es keinen genormtes Format. Beispielsweise so
if %a% LSS 10 echo 0000000%a%;"test">>test.csv  
if %a% GTR 9 if %a% LSS 100 echo 000000%a%;"test">>test.csv  
if %a% GTR 99 if %a% LSS 1000 echo 00000%a%;"test">>test.csv  
if %a% GTR 999 if %a% LSS 10000 echo 0000%a%;"test">>test.csv  
if %a% GTR 9999 if %a% LSS 100000 echo 000%a%;"test">>test.csv  
if %a% GTR 99999 if %a% LSS 1000000 echo 00%a%;"test">>test.csv  
if %a% GTR 999999 if %a% LSS 10000000 echo 0%a%;"test">>test.csv  
Geht das?
Ja. Du kannst abber auch eine Variabel für das Trennzeichen definieren, ein Variable für deinen festen Wert usw. Es gibt verschiedene wege den festen Wert test in deine CSV einzubringen. Es kommt halt auch drauf an was deine CSV enthalten soll.
https://de.wikipedia.org/wiki/CSV_(Dateiformat)
https://praxistipps.chip.de/was-ist-csv-einfach-erklaert_42907
https://support.office.com/de-de/article/erstellen-oder-bearbeiten-von-c ...

Gruß,
Peter
Mitglied: colinardo
Lösung colinardo 15.03.2018 aktualisiert um 17:29:22 Uhr
Goto Top
Hallo @freshman2017 .
Ich würde das ganze ja wenns Batch sein soll ohne diese eigentlich überflüssigen If-Abfragen so machen
@echo off &setlocal enabledelayedexpansion
>"test.csv" (for /L %%a in (1 1 999999) do (set "num=000000%%a" &echo(!num:~-7!;Test))  
Oder via Powershell:
1..999999| %{"$('{0:D7}' -f $_);Test"} | sc test.csv  
Grüße Uwe