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
Mit der Eingabeaufforderung ein Powershellscript ausführen?

Hallo, ich mochte ein (simples) Powershell-Script mit der Eingabeaufforderung starten.

Das Batch-Script sieht bisher so aus:

@echo off
del %tmp%\drive.ps1
echo Set-ExecutionPolicy RemoteSigned >%tmp%\drive.ps1
echo New-PSDrive -Name S -PSProvider FileSystem -Root \\MYCLOUDEX2ULTRA\Public -Persist >>%tmp%\drive.ps1
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile & "%tmp%\drive.ps1"

Die Datei startet zwar die PowerShell aber nicht die Datei. (Und fragt danach wie ich sie öffnen möchte)

Wenn ich es allerdings do angehe:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile "%tmp%\drive.ps1"

bekomme ich diesen lustigen Fehler:

C:\Users\nikla\AppData\Local\Temp\drive.ps1 : Die Datei "C:\Users\nikla\AppData\Local\Temp\drive.ps1" kann nicht
geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie
unter "about_Execution_Policies" (https:/go.microsoft.com/fwlink/?LinkID=135170).
In Zeile:1 Zeichen:1
+ C:\Users\nikla\AppData\Local\Temp\drive.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Sicherheitsfehler: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Und ohne -NoProfile kommt exakt der gleiche Fehler.

Soah, nun bin ich mit mein Latein am Ende. Könnt ihr mir da weiterhelfen?

Windows, cmd, Eingabeaufforderung, PowerShell
Wie kann man mit Batch aus einer Textdatei ein Wort suchen und ein 2. Wort, was in der gleichen Zeile in Anführungszeichen steht, als Variable definieren?

Ich habe eine Textdatei (config.txt) mit folgenden Inhalt:

alpha = "Das ist der 1. Wert"
beta = "Das ist der 2. Wert"
gamma = "Das ist der 3. Wert"

Nun möchte ich mit meiner Batch-Datei (search.bat) nach dem Wort beta suchen, anschließend den Wert in den Anführungszeichen als Variable output speichern und am Ende mit echo %output% in der Batch-Datei ausgeben.

Wichtig anzumerken ist, dass das die Variable output (und damit auch die Ausgabe) ohne Anführungszeichen ist. Der Wert output entspricht demnach:

Das ist der 2. Wert

In der Batch-Datei sollen dabei folgende Bedingungen erfüllt werden:

1)

  • Das zu suchende Wort soll mit der Variable target beschrieben werden.
  • Außerdem soll der Pfad der Textdatei mit der Variable path beschrieben werden.

Am besten definiert man das ganz am Anfang.

set target=beta
set path="C:\Users\Timo\Documents\Wort-Suche mit BAT\config.txt"

2) Der Suchvorgang soll auch einwandfrei funktionieren...

  • ... wenn in der Textdatei keine Leerzeichen um das Gleichheitszeichen sind.
  • ... wenn in der Textdatei ganz viele Leerzeichen um das Gleichheitszeichen sind.
  • ... wenn ganz am Anfang der Zeile ein oder mehrere Leerzeichen sind.

Außerdem

Beispiel:

alpha="Das ist der 1. Wert"
beta   =   "Das ist der 2. Wert"
   gamma = "Das ist der 3. Wert"

Somit soll der Suchvorgang die Leerzeichen, die um das Gleichheitszeichen und vor den Variablen-Namen sind, komplett ignorieren.

Er soll sich nur anhand des Suchworts (beta) und den Anführungszeichen orientieren.

Ich habe mehrere Stunden versucht mein Problem selbständig zu lösen. Einige Forumsbeiträge schienen mir interessant, aber ich bin trotzdem zu keinem Ergebnis gekommen.

Hier sind die Links zu den beiden Beiträgen, die vermutlich bei der Lösung helfen.

Hallo, wie kann ich aus einer Textdatei über batch ein Wort suchen lassen und ein anderes was in der gleichen Zeile in Klammern steht ausgeben lassen ?

Wie verwende ich ein "(Anführungszeichen) als FOR / F-Trennzeichen in CMD.exe unter Windows 7?

Vielen Dank für eure Hilfe

Timo

Computer, Technik, programmieren, Batch, cmd, Technologie, Windows 10

Meistgelesene Beiträge zum Thema Cmd