Von einem Batch-Skript aus lassen sich eine oder mehrere Zeilen bzw. ganze Ausgaben in die Zwischenablage kopieren.
Die Hilfe dazu sieht so aus:
C:\Windows\system32>clip /? CLIP Beschreibung: Leitet die Ausgabe von Befehlszeilenprogrammen in die Windows-Zwischenablage um. Diese Textausgabe kann in andere Programme eingefügt werden. Parameterliste: /? Zeigt diese Hilfe an. Beispiele: DIR | CLIP Erstellt eine Kopie des aktuellen Verzeichnis- inhalts in der Windows-Zwischenablage. CLIP < README.TXT Erstellt eine Textkopie von readme.txt in der Windows-Zwischenablage.
Einfach mittels Pipe lassen sich Werte, Texte, usw. übergeben:
echo Test | clip
“Test” lässt sich dann z.B. mittels “Strg + V” in Notepad oder sonstwo einfügen.
Mehrere Zeilen können so übergeben werden:
(echo Erste Zeile echo Zweite Zeile )|clip
Die Zwischenablage kann man mit
echo off | clip
leeren.
Um z.B. eine Variable in die Zwischenablage zu kopieren und nach einer einer gewissen Zeit wieder zu entfernen kann man wie folgt vorgehen:
@echo off rem Die Zwischenablage leeren echo off | clip rem Die Variable in die Zwischenablage kopieren echo %Variable%|clip rem Pause timeout /t 15 rem Die Zwischenablage leeren echo off | clip
Quelle:
scunster.co.uk – Send text to Windows clipboard from a batch file
![](https://www.andysblog.de/wp-content/uploads/2019/09/DSC_5408-K_05.jpg)
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Warum sollte man die Zwischenablage leeren, bevor man sie mit einem Wert belegt? Viel interessanter ist. Wie bekommt man einen Text der Zwischenablage wieder in eine Batch-Datei?
Wenn vorher schon etwas in der Zwischenablage ist, macht es Sinn, diese zuerst zu leeren.
Angenommen man hat ein Passwort so kopiert, dann ist das Leeren durchaus sinnvoll.
Zu deiner zweiten Frage:
powershell Get-Clipboard > test03.cmd
oder das hier:
https://www.c3scripts.com/tutorials/msdos/paste.html
Beides gefunden hier: stackoverflow – How can you get the clipboard contents with a Windows command?
Da gibt’s noch mehr, einfach mal den Thread durchlesen und ggf. testen, was für die Anforderung am besten passt.
in der datei.txt stand:
fútbol lámpara de techo
eingelesen mit:
CLIP < datei.txt
in der Zwischenablage hatte ich dann:
ÔÇïÔÇïf├║tbol l├ímpara de techo
es scheint, dass nicht alle Zeichensätze unterstützt werden – oder gibt es da noch einen Trick?
Evtl. die Codepage im Skript ändern, z.B.
chcp 1252
Siehe https://learn.microsoft.com/de-de/windows-server/administration/windows-commands/chcp
Danke für den Tipp,
hat leider nicht geklappt, es gibt zwar eine Änderung aber den richtigen pc für Spanisch habe nicht gefunden, habe ein paar ausprobiert, muss dann eben mit einem Makro die .txt öffnen und herkömmlich kopieren, das geht unter Win10 in mehreren Sprachen
Hallo,
ich habe zum Beispiel Text a der später in Zeile A eingefügt werden soll. Und zum Beispiel Text b der in Zeile B eingefügt werden soll.
Wenn ich das ausführe:
echo off | clip
(
echo a
echo b
)| clip
Dann habe ich Text a und b als einen Text kopiert, aber keine Unterteilung. So dass ich die Texte den entsprechenden Zeilen einfügen kann.
Ich hoffe das ist Verständlich
Vom Prinzip her muss zwischen den beiden Echos der Sprung eingefügt werden.
Hier lautet die Frage wie denn in die zweite Zeile “gesprungen” werden muss?
Tab, Enter, CR, LF, CRLF, einfach eine Zeile nach unten, usw.
Am Beispiel von LF reicht ein simples:
echo^
zwischen den beiden Echos (ggf. noch ein setlocal EnableDelayedExpansion am Anfang des Skripts setzen).
Siehe:
https://administrator.de/tutorial/erzeugung-von-esc-cr-lf-und-del-mit-reinem-batch-156449.html