Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4159 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 (1)

Frage von duckknight zum Thema Batch & Shell ...

Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

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

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Windows Netzwerk
DNS ins mehreren Subnetzen (13)

Frage von joerg zum Thema Windows Netzwerk ...