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, 4120 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
Windows Netzwerk

GPO aus Parent Domain in Child Domain cachen

Frage von DirmhirnWindows Netzwerk3 Kommentare

Hi, wir haben eine Windows 2008 R2 Domain und einige Child Domains. In den Child Domains werden einige GPOs ...

Java

Von Delphi String zu Java String

Frage von GreenDinoJava1 Kommentar

Hallo zusammen! Ich bin dabei Delphicode in Javacode zu übertragen. Frage: ist '<text>' in Delphi equivalent zu "<text>" in ...

Visual Studio

DotNet String Sortierung

gelöst Frage von emeriksVisual Studio5 Kommentare

Hi, habe hier im .Net einen komischen Effekt beim Sortieren von Strings. Gegeben sind 3 Strings (in Wunsch-Reihenfolge) ABC-XY-100 ...

Batch & Shell

Powershell matching string

gelöst Frage von noname69Batch & Shell7 Kommentare

Moin Entwickler, bin derzeit dabei, zwei txt Dateien zu analysieren. Die eine ist (namentlich) zeitlich gesehen der Vorgänger und ...

Neue Wissensbeiträge
Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 1 TagWindows 1011 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 2 TagenSicherheits-Tools5 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 5 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Humor (lol)
Spirit of Health-Kongress in Berlin
Information von AnkhMorpork vor 5 TagenHumor (lol)6 Kommentare

tgif! Beim dritten Spirit of Health-Kongress trafen sich am Wochenende Alternativmediziner und Naturheilkundler im Maritim Hotel Berlin, um sich ...

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware26 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Outlook & Mail
Office 365 mit Email-Profil installieren
Frage von Carat2121Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...

Hardware
Empfehlung zu neuen Desktop Pcs innerhalb KMU
Frage von Leo-leHardware13 Kommentare

Hallo zusammen, vielleicht könnt Ihr, anhand Eurer Erfahrung, mir einen Tipp zur Bestellung neuer Desktop Pcs für unsere User ...