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

Echo ist Ausgeschaltet

Frage Entwicklung Batch & Shell

Mitglied: WulleBier

WulleBier (Level 1) - Jetzt verbinden

08.09.2011, aktualisiert 18.10.2012, 13063 Aufrufe, 23 Kommentare

Hallo miteinander,

Ich versuche gerade die Ausgabe einer For-Schleife, welche ich in einer .txt Datei speicher, zu optimieren.
Dabei wird zwar richtig ausgegeben, aber am Anfang steht immer "Echo ist ausgeschaltet"

nochmal zur Verdeutlichung:
01.
Echo ist ausgeschaltet (OFF). 
02.
Echo ist ausgeschaltet (OFF). 
03.
{rest von Ausgabe} 
04.
{rest von Ausgabe} 
05.
{rest von Ausgabe}
Also die ersten zwei Zeilen sollen praktisch nicht ausgegeben werden.
Am anfang der .bat schalte ich Echo mit "@echo off" aus.
Wisst ihr eventuell wie man das weg bekommt?

Gruss WulleBier
Mitglied: Dani
08.09.2011 um 11:44 Uhr
Hi WulleBier,
könntest du auch die komplette Batchdatei kurz posten?! Ich möchte eigentlich vermeiden, dass Biber oder bastla ihre Glaskugel auspacken müssen.


Grüße,
Dani
Bitte warten ..
Mitglied: BigWim
08.09.2011 um 11:46 Uhr
Moin WulleBier,

bei mir ist meist so, dass ich per Echo eine Variable ausgeben möchte. Z. B. so
01.
echo %Hallo%
Wenn aber %Hallo% nicht gefüllt ist, kommt es zu so einer Erscheinung. In diesem Fall einfach mal im verdächtigen Scriptteil ein Echo on einfügen, dann siehst Du genau, welche Zeile / Eintrag dafür verantwortlich ist.

Ohne Dein Script nämlich wird es schwer werden, Dir zu helfen

Gruß
Markus

[Edit] ich muß einfach lernen, schneller zu tippen ...[/Edit]

[Edit2]
Dafür formatierst Du Deine Kommentare schöner ....
[/Edit2]
Bitte warten ..
Mitglied: 60730
08.09.2011 um 11:47 Uhr
moin,

nunja...

ohne die Testbätch (die auch noch @echo off benutzt) zu kennen, muß man wieder Rätseln.

  • ein simples echo liefert den Zustand (on/off) zurück

ergo wirst du irgendwo einen Bug drin haben, der für dich so aussehen mag, dass du ein echo %variable% irgendwo stehen hast und die variable leer ist.

Von daher?
Wie würdest du nun dein und unser Problem lösen?

Gruß



Edit
3 Dumme, ein Gedanke
/edit


[Edit] ich muß einfach lernen, schneller zu tippen ...[/Edit]

Nö.... du warst noch schneller als wie meiner einer

PS:

01.
if not "%kristallkugel%=="" echo %kristallkugel%
Bitte warten ..
Mitglied: WulleBier
08.09.2011 um 11:49 Uhr
Servus,

Entschuldigung, hier das kleine Skript

01.
@echo off  
02.
 
03.
echo Geben Sie den absoluten Pfad der .txt Datei ein!Achten Sie dabei auf korrekte Eingabe! (z.B. C:\): 
04.
           
05.
set /P laufwerk= 
06.
 
07.
echo Geben Sie den vollstaendeigen Pfad des Confluence Line Interface an! 
08.
set /P cli=  
09.
 
10.
:done 
11.
cd %laufwerk% 
12.
 
13.
:einlesen 
14.
      for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i    
15.
            
16.
              
17.
         
18.
   for /f "usebackq skip=5 eol=# delims=#" %%k in (%laufwerk%) do ( 
19.
 
20.
              call %cli% --action loadFiles --space "%Space%" --title "%title%" --file %%k --replace 
21.
22.
 
23.
    
24.
    call %cli% --action getPageSource --space "%Space%" --title "%title%" --file "%dirPath%"\SourceCode.txt 
25.
                 
26.
        for /f "eol=; tokens=1,2 delims=#" %%i in (%laufwerk%) do ( 
27.
                   
28.
                     @echo %%j >> "%dirPath%"\SourceCode.txt    )    
29.
                   
30.
  
31.
:Eof

Hier die Ausgabe dazu :

01.
{children}  
02.
ECHO ist ausgeschaltet (OFF). 
03.
ECHO ist ausgeschaltet (OFF). 
04.
[DasBuch|Buch2_32x32.png]       
05.
[Client|clientnetwork.png]      
06.
[Technologies|04-technologies.png]      
07.
[product|05-productinfo.png]      
08.
[Inet-news|INET-News_No_7_en_v2.doc]     
Das "ECHO ist ausgeschaltet (OFF) sollte weg.
Bitte warten ..
Mitglied: 99045
08.09.2011 um 11:50 Uhr
Zitat von WulleBier:
Wisst ihr eventuell wie man das weg bekommt?

Wenn du vernüftige Angaben liefert, weiß das sicher jemand, so gibt es nur ein "wenig anspruchsvoll".
Bitte warten ..
Mitglied: Jochem
08.09.2011 um 11:50 Uhr
Moin,

ein "Echo" mit Ausgabeumleitung auf das Null-Device löst das Problem auf jeden Fall. *GG*

Gruß J chem
Bitte warten ..
Mitglied: 60730
08.09.2011 um 11:57 Uhr
hmm..

auch auf die Gefahr hin...

01.
@echo off  
02.
:start 
03.
cls 
04.
:v1 
05.
@echo Geben Sie den absoluten Pfad der .txt Datei ein!Achten Sie dabei auf korrekte Eingabe! (z.B. C:\): 
06.
           
07.
set /P laufwerk= 
08.
@echo %laufwerk%|find ":\" && if not exist %laufwerk% goto start 
09.
:v2 
10.
echo Geben Sie den vollstaendeigen Pfad des Confluence Line Interface an! 
11.
set /P cli=  
12.
if not exist %cli% goto v2 
13.
 
14.
:done 
15.
cd %laufwerk% 
16.
 
17.
:einlesen 
18.
      for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i    
19.
                        
20.
         
21.
   for /f "usebackq skip=5 eol=# delims=#" %%k in (%laufwerk%) do ( 
22.
 
23.
              call %cli% --action loadFiles --space "%Space%" --title "%title%" --file %%k --replace 
24.
25.
 
26.
    
27.
    call %cli% --action getPageSource --space "%Space%" --title "%title%" --file "%dirPath%"\SourceCode.txt 
28.
                 
29.
        for /f "eol=; tokens=1,2 delims=#" %%i in (%laufwerk%) do @if not "%%j"=="" @echo %%j>>"%dirPath%"\SourceCode.txt    
30.
                   
31.
 :Eof
<edit>
so da wären ein paar unhybschheiten beseitigt.

u.a bei echo %%j >> -leerzeichen in der log mag ich nicht.
</edit>
Bitte warten ..
Mitglied: WulleBier
08.09.2011 um 12:09 Uhr
Ahh stimmt. Da die Ausgabe sowieso später zu links werden schreib ich einfach "link" davor !

Danke
Bitte warten ..
Mitglied: WulleBier
08.09.2011 um 12:12 Uhr
if not exist %laufwerk%%cli% goto v2
Was machst du hier? %laufwerk% und %cli% sind 2 Verschiedene Pfadangaben: Einmal zu ner .txt aus der gelesen wird und einmal zu ner .bat
Bitte warten ..
Mitglied: 60730
08.09.2011 um 12:15 Uhr
Zitat von WulleBier:
if not exist %laufwerk%%cli% goto v2
Was machst du hier? %laufwerk% und %cli% sind 2 Verschiedene Pfadangaben: Einmal zu ner .txt aus der gelesen wird und einmal zu
ner .bat


nunja - das in ein sogenannter Vorschlag, aber du hattest soviele rems in der Datei, da hab ich den Wald vor lauter Bäumen nicht gesehen.

Wird auch nicht mehr vorkommen...
Bitte warten ..
Mitglied: 99045
08.09.2011 um 12:21 Uhr
Mit den ganzen Fehlern in deinem Script wird das auch nichts werden.

CD braucht einen Parameter, set %%i ist Murks und nach meiner Ansicht sind ein paar Variablen überhaupt nicht definiert.

Vielleicht fängst du mal mit echo on in der ersten Zeile an und machst zwischendurch mal eine pause.
Bitte warten ..
Mitglied: WulleBier
08.09.2011 um 12:37 Uhr
Warum sollte set %%i murks sein? Also bei mir fuktionierts. Vielleicht hab ich ja das definieren der Variablen in die Textdatei geschrieben , welche durchgegangen wird schonmal daran gedacht?
Bitte warten ..
Mitglied: BigWim
08.09.2011 um 12:43 Uhr
Moin WulleBier,

hier wird geprüft, ob die beiden Ziele existieren. Wenn nicht, wird zur erneuten Eingabe aufgefordert, wobei mir die Schreibweise neu ist.

Interessant - werde gleich mal forschen ....

Gruß Markus
Bitte warten ..
Mitglied: 60730
08.09.2011 um 13:50 Uhr
Moin,

Zitat von WulleBier:
Warum sollte set %%i murks sein? Also bei mir fuktionierts. Vielleicht hab ich ja das definieren der Variablen in die Textdatei
geschrieben , welche durchgegangen wird schonmal daran gedacht?
  • Weil
18. for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i

das nur unter sehr vornehmen Zeitgenossen und Genossinnen als Murksfrei bezeichnet werden würde.
Aber auch nur, weil die so ein Wort nicht kennen.

gruß
Bitte warten ..
Mitglied: WulleBier
08.09.2011 um 14:07 Uhr
Schön gesagt!!!
Leider weiß ich immer noch nicht warum es Murks sein sollte!
Bitte warten ..
Mitglied: 99045
08.09.2011 um 14:16 Uhr
Ich verstehe gar nicht, wo die ganzen Antworten her kommen, obwohl der Thread doch "gelöst" ist.
Bitte warten ..
Mitglied: bastla
08.09.2011, aktualisiert 18.10.2012
@T-Mo
Wenn man sich daran gewöhnt hat, dass "%laufwerk%" eine Textdatei repräsentiert, kann
for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i
durchaus sinnvoll sein (auch wenn ich eher
for /f "eol=; delims=/" %%i in ('Findstr /c:"/" "%laufwerk%"') do set "%%i"
geschrieben hätte): http://www.administrator.de/forum/for-schleife-.txt-datei-und-3-variabl ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
08.09.2011 um 15:03 Uhr
Bonjour Bastla

Zitat von bastla:
@T-Mo
Wenn man sich daran gewöhnt hat, dass "%laufwerk%" eine Textdatei repräsentiert, kann

[OT]
Naaaaja - wenn ich an sowas gewöhne
05. set /P laufwerk=
06.
07. echo Geben Sie den vollstaendeigen Pfad des Confluence Line Interface an!

  • dann war ich wohl wirklich auf dem Holzpfadweg
Laufwerk;Pfad; Textdatei - vielleicht gewöhne ich mich auch mal daran, Fahriablen so zu benamsen, das man da auf den ersten Blick durchfindet

Grüße
bastla

retour
Bitte warten ..
Mitglied: pieh-ejdsch
08.09.2011 um 15:51 Uhr
moin,

auch wenn das Thema schon fast erledigt ist...

wenn in der Forschleife nur das zweite Token verwertet werden soll (wenn der erste Teil sowieso uninteressant ist) braucht man nicht das erste Token zur auswertung in der Forschleife angeben. Der Vergleich ob %%i %%j [Edit]ach doch [/Edit] %%i nicht leer ist kann da auch entfallen.
01.
02.
for /f "tokens=2 delims=#" %%i in (%laufwerk%) do >>&3 echo %%i 
03.
)3>>"%dirPath%"\SourceCode.txt
[Edit %%i statt %%j gesetzt ]

wenn im zweiten Token NUR Leerzeichen sind müsste ja eh der Platzhalter \ ans echo ran

Gruß Phil
Bitte warten ..
Mitglied: bastla
08.09.2011 um 16:00 Uhr
... wobei noch die Frage offen wäre, ob allenfalls bei leerem "%%j" die Ausgabe einer Leerzeile gewünscht ist - dann:
(for /f "eol=; tokens=1,2 delims=#" %%i in (%laufwerk%) do echo\%%j)>>"%dirPath%"\SourceCode.txt
Grüße
bastla
Bitte warten ..
Mitglied: pieh-ejdsch
08.09.2011 um 16:10 Uhr
hach jetzt hab ich mich in der Theorie vertan.

wenn nur das zweite token abgefragt wird dann ist es ja %%i und nicht %%j

Gruß Phil
Bitte warten ..
Mitglied: WulleBier
08.09.2011 um 16:47 Uhr
Also hier mal der Aufbau von meiner Textdatei. Vielleicht wird der dazugehörige Batch nun verständlich
01.
;Beschreibung 
02.
;Beschreibung 
03.
;Beschreibung
Erste 3 Zeilen sind kommentarzeilen !

01.
/Space=Test 
02.
/title=test1

Hier werden variable Space und title gesetzt
01.
"C:\Programme\Projektordner\01_Projekt1\Buch2_32x32.png"#[DasBuch|^Buch2_32x32.png]  
02.
"C:\Programme\Projektordner\01_Projekt1\client_network.png"#[Client|^client_network.png] 
03.
"C:\Programme\Projektordner\01_Projekt1\04-technologies.png"#[Technologies|^04-technologies.png] 
04.
"C:\Programme\Projektordner\01_Projekt1\05-productinfo.png"#[product|^05-productinfo.png] 
05.
"C:\Programme\Projektordner\01_Projekt1\INET-News_No_7_en_v2.doc"#[Inet-news|^INET-News_No_7_en_v2.doc]

Hier werden erst mithilfe der Pfade, Dateien auf eine wiki geladen (eol=#)
Dann wird der Rest in eine Datei gefügt und als "Content an die dazugehörige Wiki-Page gehängt damit die Attachements gleich verlinkt sind!
[alias|^verlinkung] ist Confluence-Notation (Confluence = name der Wiki-Software)
Hier noch das (endlich und dank eurer Hilfe ) funktionierende Skript dazu^^
01.
@echo off  
02.
 
03.
echo Geben Sie die .txt Datei ein!Achten Sie dabei auf korrekte Eingabe!           
04.
set /P textdatei= 
05.
 
06.
echo Geben Sie das Confluence Line Interface an! 
07.
set /P cli=  
08.
 
09.
 
10.
 
11.
:einlesen 
12.
       
13.
   
14.
   for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %textdatei%') do set %%i    
15.
            
16.
    
17.
   call %cli% --action getPageSource --space %Space% --title %title% --file "%dirPath%"\SourceCode.txt           
18.
         
19.
   for /f "usebackq skip=5 eol=# delims=#" %%k in (%textdatei%) do ( 
20.
 
21.
              call %cli% --action loadFiles --space "%Space%" --title "%title%" --file %%k --replace 
22.
            )  
23.
  
24.
    
25.
        :getSource          
26.
         
27.
                    
28.
        for /f "eol=; skip=5 tokens=1,2 delims=#" %%i in (%textdatei%) do (@if not "%%j"=="" @echo %%j>>"%dirPath%"\SourceCode.txt)   
29.
                   
30.
   
31.
              call %cli% --action storePage --space "%space%" --title "%title%" --file "%dirPath%"\SourceCode.txt 
32.
  
33.
:Eof
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von chappy72 zum Thema Batch & Shell ...

Sonstige Systeme
Amazons Echo im Test: Beim Dankesagen ertappt (4)

Link von Frank zum Thema Sonstige Systeme ...

Batch & Shell
gelöst CMD Echo in Fett, Kursiv oder unterstrichen ausgeben (8)

Frage von Luuke257 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 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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