WinFuture-Forum.de: Batch Zusätzlich bei 101 neue Zeile schreiben - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Batch Zusätzlich bei 101 neue Zeile schreiben


#1 Mitglied ist offline   MarkusBoehm 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 24. November 21
  • Reputation: 0

geschrieben 24. November 2021 - 12:28

Hallo ich bin nicht so der ganz große Batchersteller aber irgendwie kam ich bisher immer irgendwie ans Ziel.
Nun habe ich ein Problem das ich nicht weiß wie ich es lösen kann.

Ich habe einen Ordner mit aktuell 65000 Bildern und möchte nun je 100 Bilder einen Eintrag in meine Artikelliste.
Da die Bildernamen alle unterschiedlich sind aber vom Aufbau her gleich bin ich nun schon soweit gekommen das jeder Artikel einmal in die Artikelliste eingetragen wird.

Die Artikelnummern bekomme ich richtig gefiltert aber weiß leider auch nicht ob ich variable Variablen in Batch erstellen kann. z.B. set menge%Var%=menge%Var%+1 oder so.

Nun habe ich mir überlegt ob es möglich ist zum Beispiel eine Zusätzliche DateiMenge.txt anzulegen die die menge jedes Artikels zählt. Und wie ich das realisieren könnte.
Der Erste Eintrag in die Datei wäre vermutlich kein Problem aber wie kann ich im weiteren Ablauf den Wert x wieder auslesen/ändern?

Ich habe an soetwas gedacht: "DateiMenge.txt enthält"
#12345#=34
#5425#=5
#54321#=204

Im bisher funktionierenden Script würde ich dann folgendes z.B. erweitern:
nach: "echo Anzahl gesamt: "%zaehler%""
Find /i "#%Var%#=" DateiMenge.txt -> AusgabeWert
if errorlevel 1 (
    echo #%Var%#=1>> DateiMenge.txt
) else (        
    set AusgabeWert+=1
    Überschreibe AusgabeWert DateiMenge.txt von "#%Var%#="
)
if AusgabeWert = [101] OR AusgabeWert = [201] OR AusgabeWert = [301] (
	echo *-%Var%-*-*-*-*-*.*>> Artikelliste.txt
	echo %Var%>> Artikelliste.txt
)


vor: ":LoopLastToken"

Funktionierendes Script bisher:
@echo off
set zaehler = 0

for /R "Z:\Bilder-Artikelimport\Artikelimport\" %%i in (*.*) do (
     call :restscript "%%~nxi"
     echo Dateiname: "%%~nxi"
)

pause

:restscript
set "strstart=%~1"
set strstart=%strstart:~0,-41%

set "Var=%strstart%"
call :LoopLastToken "%Var%"
Find /i "*-%Var%-*-*-*-*-*.*" Artikelliste.txt
if errorlevel 1 (
	echo *-%Var%-*-*-*-*-*.*>> Artikelliste.txt
	echo %Var%>> Artikelliste.txt
) else (	
	echo "*-%Var%-*-*-*-*-*.* schon vorhanden"
	echo "%Var% schon vorhanden"
)
     set /a zaehler += 1
     echo Anzahl gesamt: "%zaehler%"


:LoopLastToken
    set "Var=%~1"
    if not "%Var:*-=%"=="%~1" (
    call :LoopLastToken "%Var:*-=%")
exit /b


Ich hoffe ich habe das ganze Ausführlich erklärt was ich vorhabe ansonsten stehe ich gerne für weitere Fragen bereit.

Grüße Markus
0

Anzeige



Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0