Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batchdatei IF und set für Datei einlesen nicht in einer Zeile kombinierbar?

Frage Entwicklung Batch & Shell

Mitglied: bufferm44

bufferm44 (Level 1) - Jetzt verbinden

29.09.2006, aktualisiert 02.10.2006, 4167 Aufrufe, 5 Kommentare

Hallo zusammen!
Habe dieses Forum in den letzten Wochen viel genutzt um div. Batchdateien zu erstellen. Auf eine Frage konnte ich leider keine Lösung finden:

Ich habe gestern Stunden über einem Problem gebrütet, für das ich nur eine Schmutzlösung gefunden habe:

if exist d:\aktuell\split5.txt set /p aktstrasse=<d:\aktuell\split5.txt

Diese Zeile will einfach nicht funktionieren, bei der Ausführung wird immer eine NULL oder eine EINS irgendwo eingefügt.

Nur eine Schmutzlösung à la:

if exist d:\aktuell\split5.txt goto :aaa
goto :bbb
:aaa
set /p aktstrasse=<d:\aktuell\split5.txt
:bbb

funktionierte.

Ist bei der Syntax oben was falsch?

41cf67d46f8cff139b2870814596a78a-null - Klicke auf das Bild, um es zu vergrößern
Mitglied: Biber
29.09.2006 um 13:04 Uhr
Moin bufferm44,

nö, ist alles in Ordnung und richtig so.

Diese "Anzeige"
if exist bla.txt set /p aktstrasse= 0<bla.txt

braucht Dich nicht zu beunruhigen. Das ist nur die Übersetzung des CMD-Interpreters, der messerscharf folgert: Aha, diese Zeile soll den Input an Device 0 (=STDIN) aus einer Datei holen.
Statt über STDIN=Tastatur.

Die gleiche Anzeige bekommst Du, wenn Du in einer Batchdatei stehen hast:
echo bla blubb>nul
Wenn dieser Befehl angezeigt wird (also mal kein "echo off" davor schreiben), dann wird angezeigt:
01.
>echo bla blubb 1>nul
Hier ist die Umleitung des Outputs Voreinstellung Device 1 = STDOUT = normalerweise Bildschirm.
Und "1" wird jetzt umgeleitet auf das NUL-Device.

Funktionieren wird die Set-Anweisung trotzdem.
Na ja, "trotzdem" stimmt ja eigentlich nicht... sie funktioniert eben.

Gruß
Biber
Bitte warten ..
Mitglied: bufferm44
29.09.2006 um 17:22 Uhr
Hm, Du hast Recht, habs noch mal getestet...

Aber warum das bei mir erst nicht ging - keine Ahnung, werds noch mal im Code hübsch machen und beobachten

Danke erstmal!
Bitte warten ..
Mitglied: Biber
29.09.2006 um 17:59 Uhr
Jepp.
Obwohl ich vom Kochen mehr verstehe als vom Bätchen.
Schreib Dir einen Dreizeiler:
01.
::----snipp setFromFileTest.bat 
02.
@echo der neue Wert der Variablen [aus Datei gelesen] >"\%temp%\VarInFile.txt" 
03.
@if exist "%temp%\VarInFile.txt" set /p varAusDateigelesen=<"%temp%\VarInFile.txt" 
04.
set varAusDateigelesen
Das wäre der Output:
01.
Y:\Eigene Dateien>set varAusDateigelesen 
02.
varAusDateigelesen=der neue Wert der Variablen [aus Datei gelesen]
Und wenn Du in der zweiten Zeile das "@" wegnimmst, steht dort auch (sinngemäß):
<code>
Y:\Eigene Dateien>if exist "C:\DOKUME~1\Biber\LOKALE~1\Temp\VarInFile.txt" set /p varAusDateigelesen= 0<"C:\DOKUME~1\Biber\LOKALE~1\Temp\VarInFile.txt"
<code>

Auf jeden Fall aber die "Übersetzung" von "set varname<=file" in "set varname= 0<file"

Warum sollte es auch nicht klappen? Mir erscheint meine Herleitung einleuchtend...

Gruß
Biber
[Edit] Uuups, das sollte eine Antwort auf Deinen vorletzten Kommentar sein,
wo eben noch die Frage stand, ob ich mir sicher wäre...
- den letzten hab ich übersehen, bzw jetzt steht ein anderer Inhalt da...
Egal, jetzt hab ichs gepostet...
Schönes Wochenende. F.
[/Edit]
Bitte warten ..
Mitglied: bufferm44
01.10.2006 um 22:29 Uhr
Sorry dass ich Dir den Kommentar während Deiner Antwort weggezogen habe :D

Ich hatte halt mehrere Stunden getestet und irgendwann als ich diese Schmutzlösung gebastelt hatte, ging das Ganze. Vielleicht war ich einfach etwas überarbeitet
Bitte warten ..
Mitglied: Biber
02.10.2006 um 08:06 Uhr
Na ja, bufferm44,

trotzdem schön, dass wir darüber gesprochen haben...

Ich setze den Beitrag mal auf "Gelöst" und "Geschlossen".
Auch wenn zur eigentlichen Problemlösung wahrscheinlich das letzte Wochenende mehr beigetragen hat als ich...

Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zeile eine Datei per batch ersetzen (2)

Frage von duckknight zum Thema Batch & Shell ...

Batch & Shell
gelöst Ausgelagerte Variablen in Batchdatei (6)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell: Mehrere Domains einlesen (9)

Frage von Agilolfinger zum Thema Batch & Shell ...

Batch & Shell
Jede Zeile einer Textdatei in eigene Variable speichern (5)

Frage von tomaschku zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Firewall
gelöst Firewall Firmeneimsatz (22)

Frage von wiesi200 zum Thema Firewall ...

LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (11)

Frage von kartoffelesser zum Thema LAN, WAN, Wireless ...

Windows Server
ESXI Free Windows Server 2016 Datacenter aktivieren (10)

Frage von iDeathz zum Thema Windows Server ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...