Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Ordnernamen und Unterordnernamen automatisch kürzen

Frage Entwicklung Batch & Shell

Mitglied: Toweli

Toweli (Level 1) - Jetzt verbinden

04.11.2008, aktualisiert 23:12 Uhr, 10190 Aufrufe, 6 Kommentare

Hallo, ich suche ein Programm/Batch mit dem es möglich ist Ordnernamen, Unterordner, unter unter Ordner usw... automatisch kürzen zu lassen ich habe nun lange gegooglet und auch hier im Forum gelesen aber nicht derart gefunden, für Dateinamen gibt es sowas ohne Ende aber ich finde nichts für Ordner Namen...

Falls jemand solch ein Tool kennt oder eine Batch hat/machen könnte wäre ich sehr dankbar.


Mit freundlichen Grüßen Toweli


[Edit Biber] Titel "Ordnernamen und Unterordnernamen aufotmatisch kürzen " an dieser Stelle mit dem Fremdwort editiert.
Und nach "Batch & Shell" verschoben von "Tools & Utilities"[/Edit]
Mitglied: Jochem
04.11.2008 um 15:18 Uhr
Moin,
ein Verzeichnis ist aus der Sicht des BS doch auch nichts anderes, als eine Sonderform einer Datei. Also sollten dieselben Kriterien, die für Dateien gelten, doch auch für Verzeichnisse Anwendung finden können.

Gruß J chem
Bitte warten ..
Mitglied: bastla
04.11.2008 um 15:29 Uhr
Hallo Toweli und willkommen im Forum!

Wenn Du Dein Wunschergebnis beschrieben hättest, könnte hier schon ein Lösungsvorschlag stehen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
04.11.2008 um 15:38 Uhr
Moin Toweli,

ich habe irgendwo mal für einen Arbeitskollegen eine Batchdatei zusammengeschreddert, die alle Ordner und Unterordnernamen auf jeweils ein Zeichen verkürzt.
Wenn Dir das ausreicht, dann bring ich das Teil mit, wenn ich den Kollegen mal wieder besuchen darf.

Wenn Du etwas anderes willst, dann versuche es mal zu beschrieben.

Grüße
Biber
Bitte warten ..
Mitglied: Toweli
04.11.2008 um 18:22 Uhr
Hallo Biber, wäre auf jedenfall schonmal nicht schlecht, mann kann es bestimmt umschreiben, dass es auf 24 Zeichen kürzt ;)
Ich habe mich vorhind auch nicht korrekt ausgedrückt, ich brauche ein Tool dass folgendes kann:

- Ordner inklusive aller Unterordner auf max. 24 Zeichen kürzt
- Dateinamen in einem Ordner inkl. aller Unterordner auf max. 24 Zeichen kürzt

logischerweise sollte der datei typ erhalten bleiben und die ersten 24 zeichen vom Orginal Datei Namen.

Mit freundlichen Grüßen Toweli
Bitte warten ..
Mitglied: Biber
04.11.2008 um 19:07 Uhr
Moin Toweli,

na ja, ich denke, gleich eine Batchdatei für diese Aufgabe wäre eventuell etwas übertrieben...

Als Zeile vom CMD-Prompt würde das hier reichen:
01.
setlocal enabledelayedexpansion & @for /R %i in (*.*) do @set "this=%~ni" & set "ext=%~xi" & @if "!this:~23,11!" NEQ "" @echo ren "%i" "!this:~0,23!!ext!"
...aber meinetwegen auch auf ein paar Zeilen breitgetreten:
01.
::---Snipp ShortenTo24.cmd 
02.
@echo off & Setlocal 
03.
for /R %%i in (*.*) do Call :ProcessFile "%%i" 
04.
goto :eof 
05.
 
06.
:ProcessFile Parameter1 ist der vollständige Dateiname 
07.
set "FileName=%~n1"  
08.
IF "%FileName:~23,11!" NEQ "" ECHO ren "%~1" "%FileNamethis:~0,23%%~x1"
[ungetestet]
Das gross geschriebene ECHO in dem Block :ProcessFile kann nach dem Testen entfernt werden.
Ich habe es auf DateNAMEN länger als 24 Zeichen bezogen (Länge der Extension NICHT eingerechnet).

Grüße
Biber

[Edit].... ach so ...Ordner ja auch...
Dann bitte als FOR-Anweisung diese hier verwenden:
Streiche. for /R %%i in (*.*) do Call :ProcessFile "%%i"
Setze: for /F "delims=" %%i in ('DIR /s /b *.*') do Call :ProcessFile "%%i"
Und vor das "*.*" ggf. noch das Startverzeichnis, z.B "D:\Test" setzen.
[/Edit]
[Edit2] @bastla "P.S.: @Biber: In Deinem Batch wäre die Schreibweise von "ProcessFile" in den Zeilen 3 und 6 noch anzugleichen ...
Danke für den Hinweis. Habe ich korrigiert. [/Edit]
Bitte warten ..
Mitglied: bastla
04.11.2008 um 23:12 Uhr
Hallo Toweli!

Da ja nicht auzuschließen ist, dass durch das Kürzen gleichnamige Ordner/Dateien entstehen würden, wird in dem folgenden Ansatz im Fall des Falles eine lfd Nummer zur Unterscheidung angefügt (wodurch allerdings die Namen wieder länger als 24 Zeichen werden können):
01.
@echo off & setlocal 
02.
set "Basis=D:\Startordner" 
03.
 
04.
set L1=%temp%\Liste1.txt 
05.
set L2=%temp%\Liste2.txt 
06.
set Nr=1000000 
07.
 
08.
if exist %L1% del %L1% 
09.
for /f "delims=" %%i in ('dir /s /b /ad "%Basis%"') do call :WriteDirName "%%i" 
10.
sort /R %L1% /O %L2% 
11.
for /f "tokens=1* delims=:" %%i in (%L2%) do call :ProcessName "%%j" 
12.
for /f "delims=" %%i in ('dir /s /b /a-d "%Basis%"') do call :ProcessName "%%i" 
13.
del %L1% 
14.
del %L2% 
15.
goto :eof 
16.
 
17.
:ProcessName 
18.
set "Name=%~n1" 
19.
set "Name=%Name:~,24%" 
20.
if "%~n1"=="%Name%" goto :eof 
21.
 
22.
set Nr= 
23.
:Check 
24.
if not exist "%~dp1%Name%%Nr%%~x1" goto :RenameIt 
25.
set /a Nr+=1 
26.
goto :Check 
27.
:RenameIt 
28.
echo ren %1 "%Name%%Nr%%~x1" 
29.
goto :eof 
30.
 
31.
:WriteDirName 
32.
set Nr+=1 
33.
>>%L1% echo %Nr:~-6%:%~1 
34.
goto :eof
Der Basisordner, unterhalb dessen die Kürzungen vorgenommen werden sollen, ist in Zeile 2 festzulegen.

Vielleicht etwas übervorsichtig ist das Bearbeiten der Ordnerstruktur "von unten" her - es werden (durch die umgekehrte Sortierung der gesamten Ordnerliste) zunächst die untersten Ebenen umbenannt - so sollte es nicht passieren, dass ein Ordner nicht gefunden wird, weil ein darüberliegender Ordner zwischenzeitlich bereits umbenannt wurde.

Auch in diesem Batch gilt übrigens: Durch das "echo" vor dem "ren" werden die Umbenennungsbefehle vorläufig nur angezeigt (und erst nach dem Entfernen des "echo" tatsächlich ausgeführt).

Grüße
bastla

P.S.: @Biber: In Deinem Batch wäre die Schreibweise von "ProcessFile" in den Zeilen 3 und 6 noch anzugleichen ...
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Microsoft Office
Registerkarte in Excel automatisch färben (10)

Frage von ralfkausk zum Thema Microsoft Office ...

Windows Server
Jnlp Endungen mit Java automatisch verknüpfen über GPO (10)

Frage von staybb zum Thema Windows Server ...

Batch & Shell
gelöst Alte Daten automatisch per Zip erstellen (4)

Frage von BEBBYs zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...