Batch - Mehrere CSV Dateien in einer for /f durchsuchen?

Ja, ich bin noch immer am Batch. Es ist für mich quasi zu einer Art Herausforderung geworden und ich möchte ein einigermaßen laufendes Script hinkriegen.

Nun habe ich gleich mehrere Probleme:
Ich kann in einer .csv Datei wohl lediglich 4 Spalten nach rechts hin schreiben, danach geht nichts mehr. Ist es da irgendwie möglich, mehr als nur 4 Spalten zu schreiben?

Ich habe quasi als eingang in die csv Datei einmal "EAN", "Location", "Produkt Titel" sowie "Anzahl". Eigentlich hätte ich gerne noch ein paar mehr Informationen zu den Produkten in die csv zu schreiben, quasi noch eine Information, wie das Produkt gelagert ist, quasi "Lagerungsmethode", in die je nach Menüpfad/ Auswahl entweder "Ebay", "Shop", "Service", oder "Storage" rein soll. Ich weiß nicht ob man meiner Idee folgen kann, aber so wäre es eventuell einfacher, denn dann könnte ich alle Informationen in eine einzige .csv Datei schreiben. Bisland wähle ich im Menü vorerst immer aus, welche Lagerungsmethode ich haben will und je nachdem speichert er die Informationen dann in unterschiedliche .csv Dateien.

Daher die Frage, ob es im Bereich

	for /f "useback tokens=1-4 delims=[];" %%a in ("%appdata%\crs\storage1.csv") do (
    if "%%~a"=="%search.EAN%" (

möglich ist da in die suche mehrere csv Dateien einzubeziehen, zB.

	for /f "useback tokens=1-4 delims=[];" %%a in ("%appdata%\crs\storage1.csv";"%appdata%\crs\storage2.csv") do (
    if "%%~a"=="%search.EAN%" (

oder ob es einfacher wäre die Daten in eine .csv Datei zu schreiben und in der Übersicht alles nach Lagerungsmethoden zu filtern?

Ich hoffe ihr könnt mir folgen :D

Computer, programmieren, Batch, cmd, batch-trick
.csv Daten in Batch anzeigen?

Hay =)

Ich bastle gerade ein wenig an einer Batch File herum.

Ich möchte hier die Daten der vier Spalten hintereinander auflisten.

Wie mache ich das am besten? =)

Danke :3

		echo ║ ╟ Zeile  ╫    Space    ╫             PRODUCT DESCRIPTION             ╫ QTY ╫   Pallet   ╢ ║
		echo ║                                                                                           ║
		echo ║ ╟   1    ╫Spalte 1     ╫ Spalte 2                                    ╫ 3   ╫ Spalte 4   ╢ ║
		echo ║ ╟   2    ╫Spalte 1     ╫ Spalte 2                                    ╫ 3   ╫ Spalte 4   ╢ ║
		echo ║ ╟   3    ╫             ╫                                             ╫     ╫            ╢ ║
		echo ║ ╟   4    ╫             ╫               usw                           ╫     ╫            ╢ ║
		echo ║ ╟   5    ╫             ╫                                             ╫     ╫            ╢ ║
		echo ║                                                                                           ║
		echo ║ ╟   6    ╫             ╫                                             ╫     ╫            ╢ ║
		echo ║ ╟   7    ╫             ╫                                             ╫     ╫            ╢ ║
		echo ║ ╟   8    ╫             ╫                                             ╫     ╫            ╢ ║
		echo ║ ╟   9    ╫             ╫                                             ╫     ╫            ╢ ║
programmieren, Batch, cmd, batch-trick
CMD Numerische Konstante Fehler?

Ich habe mir ein Skript geschrieben, dass jeden Tag automatisch den richtigen Bericht öffnet. Das ist alle zwei Wochen eine Nummer mehr. Hat jetzt einen Monat ohne Probleme funktioniert. Heute hat er aber den Bericht von letzer Woche geöffnet. Gestern hatte er den richtigen. Ich hoffe ihr könnt anhand des Codes und es Fehlers sagen, wo das Problem liegt. Bin Systemintegrator in der Ausbildung. Kenne mich also ein ganz kleines bisschen mit programmieren aus. Ich glaube das ist ein total dämlicher Fehler. Aber ich finde ihn nicht. In der Berufsschule lerne ich übrigens Python. Deswegen kenne ich mich mit cmd kaum aus. Brauche ich ja eigentlich auch nicht für den Berufsalltag.

Hier der Code:

echo off
set jahr=%date:~-4%
echo Heute ist der %date%


if '%jahr%'=='2020' goto 2020
echo Es gibt keinen vorgefertigten Bericht mehr
Timeout /t 20


:2020
setlocal
chcp 1252>nul


REM KalenderWoche (Mo-SO)
REM Datum
set /A d=%date:~0,2%
set /A m=%date:~3,2%
set /A y=%date:~6,4%


REM Tag des Jahres
if %m% == 1 set /A DoY=d
if %m% == 2 set /A DoY=d+31
if %m% == 3 set /A DoY=d+59
if %m% == 4 set /A DoY=d+90
if %m% == 5 set /A DoY=d+120
if %m% == 6 set /A DoY=d+151
if %m% == 7 set /A DoY=d+181
if %m% == 8 set /A DoY=d+212
if %m% == 9 set /A DoY=d+243
if %m% == 10 set /A DoY=d+273
if %m% == 11 set /A DoY=d+304
if %m% == 12 set /A DoY=d+334


REM Schaltjahr?
set /A LY=(y/4)*4
if %y% NEQ %LY% goto noLY
if %m% GTR 2 set /A DoY=DoY+1


:noLY
REM Tag der Woche (Sonntag = 0)
for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (set DoW=%%g)
REM (Sonntag = 7)
if %DoW% == 0 set /A DoW=7


REM KW
set /A nSd=DoY+(7-DoW)
set /A KW=nSd/7
set /A delta=nSd-(KW*7)
if %delta% GTR 3 set /A KW=KW+1


REM Ausgabe der aktuellen KW
echo Wir sind in der %KW%. Kalenderwoche


REM Nummer des Berichts errechnen und richtigen Bericht öffnen
set /A Nummer=(KW+73)/2
echo Bericht: %Nummer%.docx
echo Fenster kann geschlossen werden oder wird geschlossen wenn der Bericht geschlossen wird.
chcp 850>nul
start winword.exe "G:\DATEN\Dez1\FD102\IuK\Azubis\"Mein Name"\Berichte\2020\%Nummer%.docx"
timeout /t 20
endlocal
exit

Und die Ausgabe mit der Fehlermeldung:

Heute ist der 08.05.2020
Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
Wir sind in der 18. Kalenderwoche
Bericht: 45.docx
Fenster kann geschlossen werden oder wird geschlossen wenn der Bericht geschlossen wird.
Gewartet wird 17 Sekunden. Weiter mit beliebiger Taste...
Computer, Technik, Fehler, programmieren, bat, Batch, cmd, Technologie, Fehlermeldung, Schaltjahr, batch-trick

Meistgelesene Fragen zum Thema Batch-trick