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 Parent-Verzeichnis als String auslesen... schwierig?

Mitglied: 52271

52271 (Level 1)

19.08.2007, aktualisiert 20.08.2007, 4100 Aufrufe, 5 Kommentare

Hallo an alle! Bin leider eher ein Novize, als daß ich Euch noch/schon helfen könnte... vielleicht könnt Ihr mir dafür die Augen öffnen? Danke für's Drübergucken..!

Ich stehe vor folgendem Problem:

- In einem Verzeichnis der folgenden "Marke"
C:\Dokumente und Einstellungen\Dies und das\Tralala\230-Honkong\
findet sich zum Beispiel die Datei Gibsnich.txt

Ich möchte gern folgendes tun
- die ersten drei Zeichen des Überverzeichnisses auslesen
- also "230"
- dann Gibsnich.* in 230.* (umbenennen)

Habe ordentlich gesucht, aber das Populärste ist es, mit %CD% das Verzeichnis anzeigen zu lassen bzw. in einer Variable zu speichern, die dann via delims und token verändert wird... aber WIE, damit ich dann meine "230" in einer Variable gespeichert kriege? Es wird immer der ganze Pfad, mehrere Unterverzeichnisse bzw. mit Slashs \ angegeben... Es reicht bei mir nicht dazu, die Befehlserklärungen in eigenes Hirn-Bätsch umzusetzen *schmoll*...


Bedanke mich für recht kritische Kommentare oder gar Hilfe ;)

Myro
Mitglied: miniversum
19.08.2007 um 18:54 Uhr
Ist eigentlich ganz einfach.
Mit der Forschleife kans tdu den string mit den vielen \ zeilegen udn alle durchmachen, dabei nur den letzten speichern. Danach mußt du in dieser Variabeln di ersten drei zeichen rausholen und danach Die datei umbenennen. Das ganze dann so:
FOR /F "delims=\" %%i in ('echo %cd%') do set lastpath=%%i
set erste=%lastpath:0,3%
ren Gibsnich.txt %erste%.txt

miniversum
Bitte warten ..
Mitglied: 52271
19.08.2007 um 21:42 Uhr
danke, miniversum!!

leider hat die letzte portion deiner zeilen bei mir syntaxfehler ausgelöst... danke trotzdem, du hast mich auf eine schleifen-recherchen-idee gebracht, und nach ein bißchen internet-abgrasenbasteln funktioniert es jetzt... (auch wenn ich nicht genau verstehe, warum )!

REM TEIL 1
REM GRÖSSTE DATEI IN TEXTDATEI SCHREIBEN, DEREN NAMEN AUSLESEN
dir *.txt /o-s /b > sort.txt

for /f %%a in (sort.txt) do (
SET STOREME=%%a
GOTO FRWRD
)
:FRWRD



REM TEIL 2
REM Namen NUR des übergeordneten Verzeichnisses auslesen (RD)
REM THANKS TO IVO FOR THE FOLLOWING LINES
Set CF=%CD%
Set RD=
:LOOP
If "%CF:~-1,1%"=="\" GoTo :DONE
Set RD=%CF:~-1,1%%RD%
Set CF=%CF:~0,-1%
GoTo :LOOP
:DONE


REM TEIL 3
REM erste drei Buchstaben extrahieren und umbenennen
set start=0
set length=3
CALL SET erste=%%RD:~%start%,%length%%%
rename %storeme% %erste%.txt



DAAAANKE... es hat sich so gut angefühlt, als ich das Gefühl hatte, irgendjemand begreift, wie das alles vor sich geht. Ich halte es ja für reinen Zufall, daß ein Computer funktioniert ;) ...
Bitte warten ..
Mitglied: Biber
20.08.2007 um 00:11 Uhr
Moin myro81,

willkommen im Forum.

Ich würde, auch wenn die von Dir gepostete Variante des Themas funktioniert, aus Gründen der Wartbarkeit doch eher etwas 3zeiliges a la miniversums Lösung empfehlen.

Also eine FOR /F-Anweisung bezogen auf %CD% wie oben,
oder vielleicht eine simple FOR-Anweisung wie hier:
01.
for %%i in ("%cd%\..") do @Set "lastpath=%%~nxi"  
02.
set first3=%lastpath:~0,3% 
03.
ren Gibsnich.txt %first3%.txt
Grüße
Biber
Bitte warten ..
Mitglied: bastla
20.08.2007 um 00:32 Uhr
Hallo myro81!

Falls Du den Schritt 2 noch etwas abkürzen wolltest, könnte ich ([Edit]weil ich Biber's Version noch nicht gesehen hatte[/Edit]) folgenden Ansatz anbieten :
01.
for /f "delims=" %%i in ('echo %cd%') do set "RD=%%~nxi"
Funktionsweise: Bei Verwendung der Schreibweise ~nx für eine "for"-Variable (siehe am Ende der Hilfe zu "for") wird eigentlich Name und Extension einer Datei aus dem Variableninhalt extrahiert. Da allerdings der CMD-Interpreter alles, was nach dem letzten \ eines Pfades folgt, als Datei ansieht, bekommst Du, da ja %CD% keine Datei enthält, dadurch das gesuchte letzte Verzeichnis des Pfades ...

Grüße
bastla

[Edit] Bei der Bahn würden die sich vermutlich über eine Verspätung von knapp über 20 Minuten freuen ... [/Edit]
Bitte warten ..
Mitglied: 52271
20.08.2007 um 19:52 Uhr
Das ist Zauberei. Ich habe gestern ungelogen über 8 Stunden ausprobiert, getüftelt und verfeinert, und Ihr traut Euch hier, solche Dreizeiler aus dem Handgelenk zu schütteln! Vielen Dank für die Vereinfachung, Biber, und für die Hirnaufbereitung Dir, bastla..!
- eines Tages will ich sowas auch selbst können

Gruß mit herrlicher Regenfrischluft aus Dresden
Myro
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

String Zeichenpaare auslesen und bearbeiten

Frage von ahstaxBatch & Shell6 Kommentare

Moin, ich möchte gerne einen String der Form "41004800", der beliebig lang sein kann, in Zeichenpaare aufteilen, also in ...

Batch & Shell

Datei aus Verzeichnis auslesen?

gelöst Frage von freshman2017Batch & Shell4 Kommentare

Hallo Ihr! Ich wollte mir gerade mit nachfolgendem Batch Befehl: alle darin befindlichen Bilder auflisten. Ausgabe: Wie kann ich ...

Batch & Shell

String aus Spalte in csv auslesen und ersetzen

Frage von mIsSteRBatch & Shell4 Kommentare

Hallo, meine aktuelle Frage bezieht sich auf diese Frage von Dienstag. Ich muss nun eine csv auslesen und dort ...

Batch & Shell

Dateinamen aus Verzeichnis Auslesen und Stringzerlegung zur Datumsanalyse

gelöst Frage von caspi-pirnaBatch & Shell3 Kommentare

Guten Morgen. Ich habe ein Problem mit einer Batch- Aufgabe. Es soll der Inhalt eines Verzeichnisses überprüft werden. In ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...