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

Printed on: April 19, 2024 at 21:04 o'clock

Member: Pjordorf
Pjordorf Mar 15, 2018 at 15:09:14 (UTC)
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
Member: colinardo
Solution colinardo Mar 15, 2018 updated at 16:29:22 (UTC)
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