Per echo Text in eine TXT-Datei exportieren (inkl. schwieriger Zeichen
Ich baue gerade ein größeres Skript und bin auf eine kleine Hürde gestoßen. Und zwar will ich folgende Zeile per Batch in eine TXT-Datei gießen:
start https://www.google.com/search?q=%clipboard%%
---
Das Ziel ist, dass das Batchfile u.a. dieses eine TXT-File anlegt.
Nun funktioniert der Export zumindest teilweise, und zwar so:
echo ^start https://www.google.com/search?q=^ >> F:\lala.txt
lala.txt hat hierbei folgenden Inhalt:
start https://www.google.com/search?q=
[b][i]
PROBLEM: Nun fehlt noch der restliche Teil mit der Variablen.
Wenn ich wie folgt zu exportieren, versuche, entsteht gar kein File:
echo ^start https://www.google.com/search?q=%clipboardinhalt%%^ >> F:\lala.txt[/i][/b]
Frage: Weiß jemand, wie ich in die TXT-Datei dies alles hineinbekomme?
start https://www.google.com/search?q=%clipboard%%
---
Das Ziel ist, dass das Batchfile u.a. dieses eine TXT-File anlegt.
Nun funktioniert der Export zumindest teilweise, und zwar so:
echo ^start https://www.google.com/search?q=^ >> F:\lala.txt
lala.txt hat hierbei folgenden Inhalt:
start https://www.google.com/search?q=
[b][i]
PROBLEM: Nun fehlt noch der restliche Teil mit der Variablen.
Wenn ich wie folgt zu exportieren, versuche, entsteht gar kein File:
echo ^start https://www.google.com/search?q=%clipboardinhalt%%^ >> F:\lala.txt[/i][/b]
Frage: Weiß jemand, wie ich in die TXT-Datei dies alles hineinbekomme?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 569395
Url: https://administrator.de/contentid/569395
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
bei mir funktioniert es einfach so:
Inhalt von lala.txt:
Falls in lala.txt
stehen soll, dann:
bei mir funktioniert es einfach so:
set search=Teststring
echo start https://www.google.com/search?q=%search% > lala.txt
Inhalt von lala.txt:
start https://www.google.com/search?q=Teststring
Falls in lala.txt
start https://www.google.com/search?q=%search%
echo start https://www.google.com/search?q=%%search%% > lala.txt
Wie würde man es anstellen wenn man nicht weiss wie die Line ist?
Gibt es einen weg einfach alle Prozent zeichen zu duplizieren so das die batch datei sie nicht mit einer variablen verwechselt.
Sowas dachte ich aber es funcktioniert nicht:
https://www.google.com/search?q=%clipboard%%
Gibt es einen weg einfach alle Prozent zeichen zu duplizieren so das die batch datei sie nicht mit einer variablen verwechselt.
Sowas dachte ich aber es funcktioniert nicht:
@echo off
set "Text=start https://www.google.com/search?q=%clipboard%%"
set Text=%Text:%=%%%
echo %Text%>>lala.txt
Moin,
Hier müssten bereits beim Setzen der Variable die Prozentzeichen verdoppelt werden, andernfalls wird %clipboard% bereits hier aufgelöst. Der Rest kann also gar nicht mehr funktionieren.
Richtig wäre hier also:
Wenn du eine separate Datei über eine For-Schleife einliest, brauchst du die Prozentzeichen der Inputdatei nicht verdoppeln.
PS: Für das aktuelle Beispiel würde ich allerdings eher die Suchfunktion des genutzten Browsers verwenden, statt eine Google-Webadresse zu kreieren, die bei der Verwendung bestimmter zeichen immer Probleme bereitet.
Sofern das Programmverzeichnis des jeweiligen Browsers nicht in der Umgebungsvariable Path steht, muss das Programm natürlich mit Pfadangabe aufgerufen werden.
Gruß Thomas
Zitat von @ricardobohner:
Wie würde man es anstellen wenn man nicht weiss wie die Line ist?
Sowas dachte ich aber es funktioniert nicht:
...
Denkfehler. Wenn du nicht weiß, was in einer Zeile steht, bedeutet das du hast eine separate Datei, die du per For-Schleife einliest und abarbeitest. Auch wenn du zum Testen des Codes nur mit einer Zeile arbeiten willst, kannst du diese nicht einfach mit Set setzen - das ist nicht das Selbe wie eine Schleifenvariable.Wie würde man es anstellen wenn man nicht weiss wie die Line ist?
Sowas dachte ich aber es funktioniert nicht:
...
set "Text=start https://www.google.com/search?q=%clipboard%%"
Richtig wäre hier also:
set "Text=start https://www.google.com/search?q=%%clipboard%%%%"
Wenn du eine separate Datei über eine For-Schleife einliest, brauchst du die Prozentzeichen der Inputdatei nicht verdoppeln.
@echo off
for /f "usebackq" %%A in ("C:\Pfad\zur\Input.txt") do (
echo start %%A
) >> "C:\Pfad\zur\Output.txt"
PS: Für das aktuelle Beispiel würde ich allerdings eher die Suchfunktion des genutzten Browsers verwenden, statt eine Google-Webadresse zu kreieren, die bei der Verwendung bestimmter zeichen immer Probleme bereitet.
firefox.exe -search "Zu suchende Zeichenkette"
chrome.exe "? Zu suchende Zeichenkette"
...
Gruß Thomas