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

Batch Variablensetzung für echo ohne Zeilenumbruch -Fragen zum Code

Frage Entwicklung Batch & Shell

Mitglied: Progfreund

Progfreund (Level 1) - Jetzt verbinden

05.07.2011, aktualisiert 21:08 Uhr, 8077 Aufrufe, 4 Kommentare

Hallo.

bastla hat folgenden Code geschrieben:
01.
set/p=<nul>leer4.txt

Ich habe dazu noch Fragen:
Wie heißt der Name der Variablen, in die nul geleitet wird bzw. gibt es dort eine Variable?

Der Code ist ohne Leerzeichen, ich nehme an wegen der Variablensetzung; gibt es eine Regel zum Setzen von Leerzeichen:
Biber hat in seinem Batch Tutorial 2 (Workshop Batch for Runaways - Part II - Ein bisschen Handwerkszeug) ziemlich vorne die Ausgabeumleitung mit dir /s Pfad >nul als funktionierend und dir /s Pfad>nul als nicht
funktionierend aufgeführt.

Wenn man eine Zeile ohne Zeilenumbruch ausgeben möchte, verlangt echo ein CarriageReturn. Ich habe von Biber den Kommentar gelesen, dass
es ein Mythos ist, den Rückgabewert von REM zu verwenden (Per Batch (Text-)Datei ohne Text erzeugen). Dennoch wird zum Beispiel Pfad/nul (nicht Pfad\nul) bei älteren OS Versionen verwendet,
sodass ich fragen möchte: was genau ist nul (im Kontext von Pfad/nul) und was ist nul bei Ausgabeumleitungen, wo findet man es, wird es irgendwie
angelegt?

Ich würde mich über eine Antwort freuen. Wenn noch wer weitere Empfehlungen hat, schreibt sie.

LG
Mitglied: bastla
05.07.2011 um 21:48 Uhr
Hallo Progfreund!
Wie heißt der Name der Variablen, in die nul geleitet wird bzw. gibt es dort eine Variable?
Es gibt keine Variable, weil die Eingabe ohnehin uninteressant ist - es geht nur darum, die Ausgabe (hier in eine Datei "leer4.txt") ohne abschließendes CrLf zu erzeugen.
... die Ausgabeumleitung mit dir /s Pfad >nul als funktionierend und dir /s Pfad>nul als nicht funktionierend aufgeführt.
Ein "dir /s" finde ich im gesamten Tutorial nicht ...
gibt es eine Regel zum Setzen von Leerzeichen
Als Grundregel: Je weniger, desto gut - zu wenige bringt's aber auch nicht ...
Ansonsten: Bitte einen konkreten Fall nennen!

dir /s Pfad>nul
oder
dir /s Pfad >nul
ist übrigens egal - die Ausgabe "verwschwindet", soferne es den Pfad gibt, ohnehin, und der Errorlevel wird unabhängig davon gesetzt - allerdings würde ich
dir /s Pfad>nul 2>nul
verwenden, da so auch die Fehlermeldung bei nicht existentem Pfad unterdrückt wird.
Hinsichtlich der Ausgabeumleitungen bin ich übrigens schon vor längerer Zeit dazu übergegangen, die Umleitung dem Befehl voranzustellen, also etwa:
>Textdatei.txt echo %Wert%
Abgesehen von der damit entfallenden Frage nach zusätzlichen Leerzeichen nach %Wert% hat das den Nebeneffekt, dass auch ein Inhalt der Variablen %Wert% von 2 korrekt in der Datei landet, was bei
echo %Wert%>Textdatei.txt
nicht der Fall wäre, da ja dann
echo 2>Textdatei.txt
daraus entstünde, was zu einem "echo" ohne Text (und daher der Ausgabe
ECHO ist eingeschaltet (ON).
auf den Kanal 1 = STDOUT) und einer leeren "Textdatei.txt" führt - in diese würde ja eine Fehlermeldung auf Kanal 2 = STDERR geschrieben werden, der Befehl erzeugt aber keinen Fehler und daher keine Meldung.

Ach ja: Die Schreibweise
echo %Wert% >Textdatei.txt
wäre zwar gegen die angesprochene Eventualität abgesichert, gibt aber das Leerzeichen nach %Wert% ebenfalls in die Datei aus (womit wir wieder bei "Je weniger, desto gut - zu wenige bringt's aber auch nicht" wären) ...

Grüße
bastla
Bitte warten ..
Mitglied: Progfreund
06.07.2011 um 00:09 Uhr
Zitat von bastla:
> ... die Ausgabeumleitung mit dir /s Pfad >nul als funktionierend und dir /s Pfad>nul als nicht funktionierend
aufgeführt.
Ein "dir /s" finde ich im gesamten Tutorial nicht ...

Sorry, hier der Code (dir /b):
01.
>dir /b *.lo? 
02.
resolve.log 
03.
>dir /b *.log >nul 
04.
(keine Rückmeldung auf dem Bildschirm) 
05.
>dir /b *.lod 
06.
Datei nicht gefunden 
07.
>dir /b *.lod>nul 
08.
Datei nicht gefunden 
09.
>dir /b *.lod>nul 2>nul
Bitte warten ..
Mitglied: bastla
06.07.2011 um 00:16 Uhr
Hallo Progfreund!

So what?

Mit den Leerzeichen hat das nix zu tun - es wird nur demonstriert, was ich oben schon angesprochen habe: "Normale" Ausgaben auf Kanal 1 (ohne Umleitung Anzeige in der Konsole/auf dem Bildschirm), Fehlermeldungen auf Kanal 2 ...

Grüße
bastla
Bitte warten ..
Mitglied: Progfreund
06.07.2011 um 00:19 Uhr
Danke für deine Antwort und Klärung der Fragen.

LG
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Datei: ECHO ist ausgeschaltet (OFF) (3)

Frage von twiceface zum Thema Batch & Shell ...

Batch & Shell
gelöst Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Echo in Batch schreibt vorab eine 1 (1)

Frage von chappy72 zum Thema Batch & Shell ...

Batch & Shell
Neue Zeile verhindern (Batch)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

Server-Hardware
gelöst SPP von HP Abwärtskompatibel? (14)

Frage von fireskyer zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

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