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

gelöst Die letzten 20 Zeichen einer Textdatei

Mitglied: Marian66

Marian66 (Level 1) - Jetzt verbinden

26.08.2005, aktualisiert 30.05.2006, 7564 Aufrufe, 6 Kommentare

Hallo,

ich suche eine möglichkeit die letzten 20 Zeichen einer Textdatei in einer Variable zu schreiben.
Alternativ kann ich den Teil davor auch löschen.

Aber wie ????


Gruß

Marian
Mitglied: Biber
26.08.2005 um 16:42 Uhr
Moin, Marian,
Sind die 20 Zeichen denn wenigstens in einer Zeile?
Oder besteht die *.txt-Datei nur aus einer (Text-)Zeile?

Angenommen, der Text bestünde aus den drei Zeilen oben (=marian.txt), dann würde der 2-Zeiler:
01.
 --- snipp getlast20.bat 
02.
@for /f "delims=" %%i in (marian.txt) do set last20=%%i 
03.
@set last20=%last20:~-20%
zwar das gewünschte liefern:
01.
<=16:38:06  D:\temp=> 
02.
>set last20 
03.
last20= einer (Text-)Zeile?
... , aber eben auch ggf. mit führenden Leerzeichen.
Und wenn die letzte Zeile aus weniger als 20 Zeichen besteht, wird auch der Variablenwert kürzer.
Kannst Du Dein Beispiel / Deine .txt-Datei etwas erläutern bitte?
HTH
Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: Marian66
26.08.2005 um 17:50 Uhr
Hier ist der Org. Text meiner Datei.

The SID for account K01821\anmelde matches account K01821\anmelde
The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005
The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005

Ich lese über getsid die UserID aus. und packe das in einer Datei.

Ich habe es probiert:
---> Erst mit Edlin.exe die ersten beiden Zeilen löschen.
edlin c:\aus.txt < c:\d2.txt

---> Dann lese ich den Teil vor der SID in einer Variable.
for /F "Delims=is" %i in (c:\aus.txt) do set variable=%i

Und nun versuche ich über Edlin den Teil in der Variable durch nix zu ersetzen.
Übrig bleibt nur die SID

Alternativ habe ich es mit

echo %Variable:~38,120%

probiert.

Gruß

Marian
Bitte warten ..
Mitglied: Biber
26.08.2005 um 18:36 Uhr
@Marian
Umständlich.. warum gehst Du nicht gleich über den output von GetSID?
Als LogFile gibt dein Dingens.txt doch eh nichts her ohne Datum und Uhrzeit.

Warum nicht einfach als Oneliner?
01.
---- SetSid.bat ( S = Server U = User) 
02.
@for /f "skip=2 tokens=7" %%i in ('getsid \\%S% %U% \\%S% %U%') do @set Sid= %%i
Ergebnis:
SID=S-1-5-21-767070826-569389849-654838779-1005

Wenn Du schon über so einen Klotz wie M$'s getSid.exe gehen willst. Gibt auch schlankere.

Nice Weekend
Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: Marian66
30.08.2005 um 22:01 Uhr
Hallo,

das fkt. super, bis auf einen kleinen Hacken.
Die Variable SID enthält die SID mit einen Leerzeichen
SID=" S1-323-32132 usw...."
Noch habe ich keine Weg gefunden das kleine Problem zu lösen.

Ausserdem versuche ich mal zu verstehen was der for Befehl da macht.

Gruß

Marian
Bitte warten ..
Mitglied: Biber
31.08.2005 um 00:53 Uhr
Hast recht, Marian,

ist ein Tippfehler drin: oben in dem Einzeiler habe ich aus Versehen ein Leerzeichen zuviel.
Bei dem "@set Sid= %%i" eingetippt (richtig wäre:"@set Sid=%%i").

oder, im ganzen Satz:
SetSid.bat ( S = Server U = User)
@for /f "skip=2 tokens=7" %%i in ('getsid \\%S% %U% \\%S% %U%') do @set Sid=%%i

Was der Einzeiler macht, kann ich beschreiben.

FOR /F ..IN.. ('getsid... ' ) DO irgendwas...
heißt frei übersetzt: Für jede Zeile des Outputs von (getsid....) mache irgendwas.

Du hast den Output ja in eine Datei geschrieben:
>Hier ist der Org. Text meiner Datei.

>The SID for account K01821\anmelde matches account K01821\anmelde
>The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005
>The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005

ich stell mal vor die Ausgabe von getsid / vor den Output Zeilennummern
1 The SID for account K01821\anmelde matches account K01821\anmelde
2 The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005
3 The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005

ich sage: @for /f "skip=2" ..... überspringe 2 Zeilen. Übrig bleibt Zeile 3:
3 The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005

ich sage: @for /f "tokens=7" .... nimm (nur) Token Nr. 7, also das 7.te Element der Zeile
Tokens werden durch Leerzeichen getrennt (Default), also:
The SID for account K01821\anmelde is S-1-5-21-1767070826-569389849-654838779-1005
"The" = Token1; "SID" = Token2; "for" = Token3;......"is" = Token6;
S-1-5-21-1767070826-569389849-654838779-1005 = Token7

bzw. (neuer Versuch in halbwegs akzeptablen Deutsch): ich habe dem For-Befehl erzählt,
Nimm Dir die Ausgabe vom getSID-Befehl, fang aber erst mit der dritten Zeile an, nimm von Zeile 3 (und ggf. folgende) nur das siebente Token und übergib das an den DO-irgendwas-Teil der Verarbeitung. Dann brauch ich Dich nicht mehr.
Und die Verarbeitung besteht nur noch auch einem "Set SID=(7tes Token von Zeile 3)"

Thats all.

Kann leider nicht so gut erklären, aber ich habs wenigstens versucht.
Frank / der Biber aus Bremen

P.S. Der Name "SetSID.bat" ist natürlich unglücklich / irreführend. Ich setze ja nicht die Security-ID (neu), sondern ermittle sie ja nur...ist also eigentlich ein "GetSID". Aber so heißt ja der M$-Schinken schon. Wem also ein besserer Name für den Einzeiler einfällt, soll diesen nehmen (und mir bitte einen Tipp geben).
Bitte warten ..
Mitglied: JangoJarango
30.05.2006 um 15:24 Uhr
Kann man das auch umgekehrt machen, also irgendwie aus der SID den benutzer bzw. das Objekt herausfinden, zu dem diese SID gehört?

/edit: hab schonwas gefunden, danke!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Zeichen vor den letzten zwei Zeichen einfügen

gelöst Frage von JoachimKunzBatch & Shell3 Kommentare

Hallo Zusammen, ich habe ein kleines Problem und brauche eure Hilfe. Ich habe auf einen SELS 11 System eine ...

Microsoft Office

Benutzernamen Kurzen bei mehr als 20 Zeichen?

Frage von SystemlordMicrosoft Office1 Kommentar

Servus zusammen, Ich lege meine User im Server mit ADScripter an. Damit die User angelegt werden werden diese zuvor ...

Batch & Shell

Textdateien zusammenfügen plus durch Zeichen abtrennen

Frage von hesperBatch & Shell8 Kommentare

Morgen! Da ich kein Script-Mensch bin brauch ich mal schnelle Hilfe von euch. Ich hab mehrere Textdateien, die ich ...

Batch & Shell

Entfernen eines Strings vor einem bestimmten Zeichens in einer Textdatei

gelöst Frage von Privex007Batch & Shell3 Kommentare

Hallo an alle Coder, ich habe Probleme mit dem extrahieren eines String aus einer "txt"-Datei. Ich habe folgende Zeilen ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 21 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...