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

Variablen beschraenkt auf 1024 Bytes (Zeichen)

Mitglied: olliwest

olliwest (Level 1) - Jetzt verbinden

04.06.2008, aktualisiert 18:12 Uhr, 7723 Aufrufe, 7 Kommentare

Hallo zusammen,

ich habe ein batchfile in der ich eine Textfile in eine Variable einlese. Jetzt kann es sein das die Textdatei auch mehr als 1024 Zeichen hat.

Code:
@set /p data=< %BSE%\tmp\device_queue.txt
@echo %data%

dann bekomme ich nur die ersten 1024 Zeichen angezeigt.
Kann mann da was gegen machen, oder ist man da beschränkt??


danke & gruß Olli
Mitglied: bastla
04.06.2008 um 14:18 Uhr
Hallo olliwest!

Die Variable selbst hätte mehr Platz zu bieten (siehe am Ende der Command shell overview; getestet mit XP SP2); das Problem ist es, die Daten hineinzubekommen, da beim Lesen aus der Datei tatsächlich nach 1023 Zeichen Schluss ist.

Falls die Eingabedatei nur eine Zeile umfassen sollte, könnte es so klappen:
01.
for /f "delims=" %%i in (%BSE%\tmp\device_queue.txt) do set "data=%%i"
[Edit] Der Ordnung halber noch die Variante "Nur erste Zeile von mehreren verwenden":
01.
set "data=" 
02.
for /f "delims=" %%i in (%BSE%\tmp\device_queue.txt) do if not defined data set "data=%%i"
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: olliwest
04.06.2008 um 14:31 Uhr
hi bastla,

ja es funktioniert!!!

vielen Dank
Bitte warten ..
Mitglied: 65627
04.06.2008 um 14:48 Uhr
@bastla
(siehe am Ende der Command shell overview; getestet mit XP SP2);

Hast du mal ausprobiert, ob das Environement wirklich 65,536KB (IMO = 64 MB) aufnehmen kann?
Bitte warten ..
Mitglied: olliwest
04.06.2008 um 14:52 Uhr
ne, habe ich noch nicht gemacht.

olli
Bitte warten ..
Mitglied: Biber
04.06.2008 um 16:08 Uhr
Moin blubbdi,

explizit getestet hat es sicherlich niemand hier, obwohl wir schon ein, zwei Threads hier hatten mit "Wieviel Variablen kann ich gleichzeitig per SET setzen" oder ähnlich.

wie dort geschrieben wurde... eine Zählschleife, die 10000 oder
100000 Variablen %Test1%.....%Test99999% setzen soll/mit einem textstring füllen soll, läuft NICHT auf einen Fehler. No problem.

Der Knackpunkt ist IMHO ein anderer:
Andere CMDLine-Utitities haben eine nicht dokumentierte MAXSTRINGLEN (lag in der freien Entscheidung der zuständigen M$-PraktikantInnen).

Und ab einer gewissen "ungewöhnlichen" Länge wird es experimentell.
Bzw. wie der sympathische Weltmarktführer sagen würde "...will cause unpredictable results..".

Beispiel: Der Find.exe-Befehl kann nicht in Zeilen suchen (bzw. finden) , wenn diese länger als 2000 und ein paar Zeichen lang sind.
Die FindStr.exe hat dieses Limit nicht.
Dafür aber vielleicht das Limit 4096.

Beispiel 2: wenn eine CMD-Variable 8192 Zeichen lang sein dürfte, was nützt es mir, wenn die maximale Länge einer Befehlszeile 2068 Zeichen ist?
Oder was passiert, wenn ich einen Batch aufrufe mit 9 Parametern
01.
testbatch.cmd %var8192Lang% %var8192Lang% %var8192Lang% %var8192Lang% ...
Ich denke nicht, dass die Größe des Environments "nur durch die Größe des zur Verfügung stehenden Hauptspeichers begrenzt" wird (so war/ist ja eine der beliebten Verkaufsformulierungen).

die Sollbruchstellen sind viel banaler... ein flapsiger #define MAXLEN eines Urlaubs-Aushilfscoders aus dem Jahr 1993 wird das Arbeiten am offiziell dokumentierten Limit schon nach einem Drittel der Strecke beenden.

Siehe Thema "Lange Verzeichnis/Dateinamen... bis zu 32767 Zeichen."
...muahaha....
... ab 253 Zeichenlänge des Namens kannst Du Dateien zwar noch schreiben, aber nie wieder lesen.

Grüße
Biber
Bitte warten ..
Mitglied: 65627
04.06.2008 um 16:31 Uhr
Hi, Biber,

so wahre Lust habe ich im Moment nicht, das wirklich mal auszutesten. Ich dachte allerdings eher an einen Fehler im Technet-Artikel mit dem Komma. ;) Früher, ganz früher (im vorigen Jahrtausend) gab es da mal eine Beschränkung auf 32 KB für das Environment pro MCB. Egal. Bei Gelegenheit setze ich mich da vielleicht mal ran.
Ich habe aus einem anderen MS-Artikel noch im Hinterkopf, dass die Zeichenbegrenzung für einen Pfadnamen bei ~1020 Zeichen liegen soll, die man über den UNC-Pfad erreichen kann. Irgendwo ist der verewigt.

Gruß
blubbdi


In Ansi liegt die max. Länge wohl bei 260 Zeichen,
http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

in Unicode bei 32767 WideChars
http://msdn.microsoft.com/en-us/library/aa364980(VS.85).aspx

Noch was zu Längen: max. Länge von Pfad-Umgebungsvariablen:
http://support.microsoft.com/kb/180410/de

Der Artikel, den ich meinte, behandelte imo die max. Pfadlänge in einem Netzwerk, und das waren 1020 Zeichen (1024 - "\\?\"). Den Artikel habe ich aber so gut versteckt, dass ich ihn im Moment nicht finde. ;)
Bitte warten ..
Mitglied: ahe
04.06.2008 um 18:12 Uhr
Hallo Ihr,

unsere Anwender haben des Öfteren das Limit in der Vergangenheit erreicht und überschritten. Wie Biber sagte konnten die Dateien noch geschrieben, aber nicht mehr geöffnet werden:
Word 97: 210 Zeichen (incl. Laufwerksbuchstaben, Backslashes und Doppelpunkt)
Excel 97: 209 Zeichen (incl. Laufwerksbuchstaben, Backslashes und Doppelpunkt)

Bei Office 2000/2003 gab/gibt es ebenfalls ein Limit, finde jedoch gerade das Dok dazu nicht mehr... müßte aber in der Größenordnung liegen, die Biber schon erwähnte. (Explorer Problem?)

Wir haben uns in der Vergangenheit dann mit dem subst Befehl helfen können, um an die Dateien heranzukommen und zu verschieben...

Ach ja, irgendjemand wollte dann 'mal testen, wieviele Schachtelungstiefen man denn noch verwenden kann, wenn ein Verzeichnis und eine Datei nur einen Buchstaben haben, er hat dann ein Script erstellt hatte, das rekursiv Verzeichnisse anlegte ...
(nach einem Reboot des Fileservers, einigen Ermahnungen und dem Hinweis, dass man das auch manuell machen kann oder ausrechnen kann, konnten wir dann das Verzeichnis löschen...)

mfg
Axel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Variable auf 5 Zeichen begrenzen
gelöst Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hallo zusammen, ich habe folgendes Problem: ich habe ein kleines Batch Programm, welches eine Benutzereingabe erfordert. der Benutzer soll ...

C und C++
Int to byte
gelöst Frage von Power-PolerC und C++11 Kommentare

Guten Tag, Habe gerade ein kleines Problem, welches mir Kopfzerbrechen bereitet. Und zwar will ich über den Pi an ...

Python
Python von ZEICHEN bis ZEICHEN
gelöst Frage von schneerunzelPython2 Kommentare

Hallo, ich glaube ich habe eine ganz einfache Frage: Ich möchte aus eine Testdatei die So aufgebaut ist: ID;Vorname;Name;Jahrgang ...

Exchange Server
Get-MoveRequestStatistics nur mit Bytes
Frage von germaneseExchange Server3 Kommentare

Hallo zusammen, ich habe einen Exchange 2013 und eine Hybridstellung zu Office 365, es laufen gerade ein paar Migrationen ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL13 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs10 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)8 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...