Top-Themen

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

Bug im Script - wer kennt sich aus?

Frage Entwicklung Batch & Shell

Mitglied: -kuwi-

-kuwi- (Level 1) - Jetzt verbinden

20.07.2007, aktualisiert 23:10 Uhr, 4168 Aufrufe, 8 Kommentare

Hallo!

Ich beziehe mich auf folgenden Thread: verzeichnisstruktur auslesen und ordnergroesse anzeigen

Bug: Wenn im Verzeichnispfad ein &-Zeichen vorkommt, so steigt das Script aus..

Da ich dies nicht vermeiden kann und ich das Script leider auch nicht ganz interpretieren kann, wollte
ich fragen ob mir hier jemand helfen kann. Wie muß ich das Script abändern, dass auch &-Zeichen
im Pfad verarbeitet werden?

Schonmal vielen Dank im Vorraus!

PS: Schönes WE!
Mitglied: bastla
20.07.2007 um 17:06 Uhr
Hallo -kuwi-!

Wenn Du in der allerletzten Zeile, ganz am Ende, "%~f1" unter Anführungszeichen setzt, sind diese zwar auch in der Ausgabe enthalten, aber der Batch müsste laufen.

Alternativ könntest Du alle Zeilen nach der alleinstehenden ")" (also ab Zeile 9) durch die folgenden ersetzen:
01.
if not defined DirSize goto :eof 
02.
set "space20=____________________" 
03.
set "Pfad=%~f1" 
04.
set "Pfad=%Pfad:&=^&%" 
05.
set "Dirsize=%space20%%Dirsize%" 
06.
echo %DirSize:~-15%    %Pfad%
Grüße
bastla
Bitte warten ..
Mitglied: -kuwi-
20.07.2007 um 22:09 Uhr
Danke für deine Hilfe - jedoch bingt die Änderung nichts..

Es existiert am Server z.B. ein Verzeichnis mit dem Namen "K&K".
Sobald das Batchfile an diese Position kommt, bricht es immer noch mit der Meldung
' "&" ist syntaktisch an dieser Stelle nicht verarbeitbar. ' ab..

Komischerweise kommt auch hin und wieder die Meldung
' Der Befehl "und" ist entweder falsch geschrieben oder konnte nicht gefunden werden. '
Das Script läuft jedoch weiter. Anscheinend hat es Probleme mit langen Verzeichnisnamen, die
zudem noch Leerzeichen enthalten?!?
Bitte warten ..
Mitglied: -kuwi-
20.07.2007 um 22:37 Uhr
Hab mittlerweile rausgefunden, dass der Code Probleme macht:
01.
if not [%%j]==[] goto :eof


Weis aber noch keine Lösung dafür..
Bitte warten ..
Mitglied: bastla
20.07.2007 um 22:41 Uhr
Hallo -kuwi-!

Hab's auch gerade gesehen. Wie wäre es mit
01.
if not "%%j"=="" goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: bastla
20.07.2007 um 22:45 Uhr
... und danach auch gleich noch
01.
If exist "%~1" (  
Grüße
bastla
Bitte warten ..
Mitglied: bastla
20.07.2007 um 22:51 Uhr
... bzw noch ein paar Anführungszeichen anstatt [] (nur, um sie durchgängig zu verwenden):

01.
::------snipp Dirsize.bat  ---developed on administrator.de 2006/2007 
02.
:: Parameter1 Verzeichnisname [opt Par2: /R wie Rekursiv] [opt. par3 =Ebenen]@echo off & setlocal & Set DIRCMD= 
03.
IF /i "%2"=="/R" for /R "%~1" %%a in (.) do @%0 "%%a" %3 
04.
if not "%2"=="" Set /a "Level=%2+2" 
05.
if defined level for /f "delims=\ tokens=1,%level%" %%i in ("%~1") do if not "%%j"=="" goto :eof 
06.
If exist "%~1" (    
07.
  for /f "tokens=3" %%c in ('dir "%~1" /s ^2^>nul^| findstr /c:"Datei(en)" ') do set DirSize=%%c 
08.
09.
if not defined DirSize goto :eof 
10.
set "space20=____________________" 
11.
set "Pfad=%~f1" 
12.
set "Pfad=%Pfad:&=^&%" 
13.
set "Dirsize=%space20%%Dirsize%" 
14.
echo %DirSize:~-15%    %Pfad% 
15.
::------snapp Dirsize.bat
In dieser Version läuft es bei mir.

Grüße
bastla

[Edit] Kommentar angepasst. [/Edit]
Bitte warten ..
Mitglied: -kuwi-
20.07.2007 um 23:00 Uhr
So - SO läuft der Code bei mir stabil..


01.
::------snipp Dirsize.bat  ---developed on administrator.de 2006/2007 
02.
:: Parameter1 Verzeichnisname [opt Par2: /R wie Rekursiv] [opt. par3 =Ebenen] 
03.
@echo off & setlocal & Set DIRCMD= 
04.
IF /i [%2]==[/R] for /R "%~1" %%a in (.) do @%0 "%%a" %3 
05.
if not [%2]==[] Set /a "Level=%2+2" 
06.
if defined level for /f "delims=\ tokens=1,%level%" %%i in ("%~1") do if not [%%j]==[] goto :eof 
07.
If exist ""%1"" (    
08.
  for /f "tokens=3" %%c in ('dir "%~1" /s ^2^>nul^| findstr /c:"Datei(en)" ') do set DirSize=%%c 
09.
10.
if not defined DirSize goto :eof 
11.
:: In Space20 stehen 20 Leerzeichen - hier im Forum besser darstellbar als 20 Unterstriche 
12.
set "space20=____________________" 
13.
set "Pfad=%~f1" 
14.
set "Pfad=%Pfad:&=^&%" 
15.
set "Dirsize=%space20%%Dirsize%" 
16.
echo %DirSize:~-15%    %Pfad% 
17.
::------snapp Dirsize.bat
Bitte warten ..
Mitglied: bastla
20.07.2007 um 23:10 Uhr
Hallo -kuwi-!

""%1"" würde ich als Overkill bezeichnen ...

Wenn Du die Grundstriche nicht magst, könntest Du zumindest, wie es der Variablenname auch schon vorgibt, 20 Leerzeichen verwenden - ansonsten sind die Zeilen
01.
set "space20=" 
02.
:: und auch 
03.
set "Dirsize=%space20%%Dirsize%"
schlicht entbehrlich.

Grüße
bastla

[Edit] Sorry, war aufgrund der mangelnden Formatierung mit < code> und < /code> (jeweils ohne Leerzeichen) nicht zu erkennen, dass die "_" noch da sind ... [/Edit]
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Dot.Net Bug?
gelöst Frage von MarabuntaVisual Studio2 Kommentare

Ich habe möglicherweise einen Bug gefunden, da der Befehl aus C# u.o. DotNet kommt, wollte ich fragen ob ihr ...

Humor (lol)
Wer kennt das nicht
Frage von KnorkatorHumor (lol)5 Kommentare

Wie jetzt? Der Internet Explorer ist ein Browser? :)

Windows 10
Keine Rechte oder Bugs nach einer automatischen Reperatur
Frage von GeomaxWindows 101 Kommentar

Hallo liebe User! Ich habe ein großes Problem, denn mein Windows lässt sich so gut wie nicht mehr bedienen. ...

Administrator.de Feedback
Sammelthread für Bugs in der Formatierung
Frage von 114757Administrator.de Feedback10 Kommentare

Hallo Kollegen, liebe Forumsnutzer, damit wir die manchmal etwas nervigen Fehler der Formatierungsanweisungen los werden habe ich diesen Thread ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 20 StundenMicrosoft Office8 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 22 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 23 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner14 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...