Hallo,
ich habe eine kleine Batchdatei geschrieben, die Folgendes machen soll:
Sie soll den Inhalt eines *.txt-Files als Variable setzen und dann mit dieser Arbeiten.
Das Problem besteht darin, dass die Variable nicht den Inhalt, sondern den Weg zu diesem abspeichert und auch wiedergibt.
Damit Ihr mal wisst um was es eigentlich geht. Hier mein Versuch
In der Datei "file.txt" befindet sich der Inhalt * (Nur ein Stern, könnte aber auch ein Computername mit mehreren Zeichen sein.)
Leider gibt %VAR% nicht *, sondern TYPE file.txt aus. NET SEND kann dies nicht lesen.
Vielleicht bin ich die ganze Sache viel zu kompliziert angegangen oder habe einen völlig falschen Weg eingeschlagen. Weiss jemand Rat?
Ich möchte einfach nicht immer in die Batch-Datei reingehen und dort das Ganze bearbeiten.
Ich hoffe Ihr könnt mir helfen. Danke!
Freundliche Grüsse
Nirvana
ich habe eine kleine Batchdatei geschrieben, die Folgendes machen soll:
Sie soll den Inhalt eines *.txt-Files als Variable setzen und dann mit dieser Arbeiten.
Das Problem besteht darin, dass die Variable nicht den Inhalt, sondern den Weg zu diesem abspeichert und auch wiedergibt.
Damit Ihr mal wisst um was es eigentlich geht. Hier mein Versuch
echo on
set VAR=type file.txt
net send %VAR% test
pause
In der Datei "file.txt" befindet sich der Inhalt * (Nur ein Stern, könnte aber auch ein Computername mit mehreren Zeichen sein.)
Leider gibt %VAR% nicht *, sondern TYPE file.txt aus. NET SEND kann dies nicht lesen.
Vielleicht bin ich die ganze Sache viel zu kompliziert angegangen oder habe einen völlig falschen Weg eingeschlagen. Weiss jemand Rat?
Ich möchte einfach nicht immer in die Batch-Datei reingehen und dort das Ganze bearbeiten.
Ich hoffe Ihr könnt mir helfen. Danke!
Freundliche Grüsse
Nirvana
Vielen Dank für die schnelle Hilfe :)
Leider funktioniert die FOR-Schleife genau so wenig. Das Problem liegt offenbar darin, dass SET nicht einen festen Wert speichern kann, bei dem er zuerst einen Weg zu diesem finden muss.
Momentan sieht die Batch-Datei folgendermassen aus:
Leider funktioniert die FOR-Schleife genau so wenig. Das Problem liegt offenbar darin, dass SET nicht einen festen Wert speichern kann, bei dem er zuerst einen Weg zu diesem finden muss.
Momentan sieht die Batch-Datei folgendermassen aus:
echo on
set VAR=FOR /f %%f IN (file.txt) DO echo %%f
net send %VAR% test
pause
Beim Abarbeiten einer Datei werden Eingaben, die eigentlich von der Tastatur erwartet werden, aus dieser Datei eingelesen und verwertet. Voraussetzung ist natürlich, dass die angegebene Datei auch existiert und sinnvolle Daten enthält. Dabei wird das Zeichen > für die Ausgabe in Datei einfach umgekehrt in <.
Beispiel:
Ob das nun mit net send funktioniert, weiss ich nicht, löschen geht jedoch mit dieser Methode DEL C:*.* < FILE.TXT. Bitte beachten, dass ein normaler CRLF als Zeilentrenner in dieser Datei (FILE.TXT) faktisch als <ENTER> gewertet wird. dass heisst, falls dies benötigt wird (Eingabebestätigung), dann muss dieser Umruch auch nach der letzten Zeile der Dateiliste erfolgen (sonst fehlt der letzte Eintrag bzw. muss manuell gestartet werden).
Es ist leider schon ewig her und es gibt auch Unterschiede in den DOS-Versionen 6.x/7. Aber vielleicht funktioniert es doch ;o)
Beispiel:
echo on
net send < FILE.TXT
pause
echo off
Ob das nun mit net send funktioniert, weiss ich nicht, löschen geht jedoch mit dieser Methode DEL C:*.* < FILE.TXT. Bitte beachten, dass ein normaler CRLF als Zeilentrenner in dieser Datei (FILE.TXT) faktisch als <ENTER> gewertet wird. dass heisst, falls dies benötigt wird (Eingabebestätigung), dann muss dieser Umruch auch nach der letzten Zeile der Dateiliste erfolgen (sonst fehlt der letzte Eintrag bzw. muss manuell gestartet werden).
Es ist leider schon ewig her und es gibt auch Unterschiede in den DOS-Versionen 6.x/7. Aber vielleicht funktioniert es doch ;o)
Nö, klappt mit net send nicht, da kommt nur die Meldung "Das Senden von Dateien wird nicht länger unterstützt".
Und außerdem ist die Syntax für net send falsch, danach muss mindestens noch ein "/domain", dann wird die Nachricht an alle PCs in der gleichen Arbeitsgruppe gesendet.
Und außerdem ist die Syntax für net send falsch, danach muss mindestens noch ein "/domain", dann wird die Nachricht an alle PCs in der gleichen Arbeitsgruppe gesendet.
Logge dich ein um einen Beitrag zu schreiben.