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, 7946 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Echo in Batch schreibt vorab eine 1 (1)

Frage von chappy72 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: (at)set und (at)echo in For-Schleifen? und mehr (8)

Frage von Ben.Blake.79 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch (Win7): Kombinierte Ausgabe mit echo? (1)

Frage von Ben.Blake.79 zum Thema Batch & Shell ...

Windows Tools
gelöst Zeilenumbruch via Batch in eine Txtdatei einbauen (6)

Frage von Ironhead-Hayns zum Thema Windows Tools ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...