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

Frage Entwicklung Batch & Shell

GELÖST

Dateinamen per Batch verkürzen

Mitglied: 106942

106942 (Level 1)

02.06.2012 um 19:23 Uhr, 3706 Aufrufe, 6 Kommentare

Hallo Administrator-Gemeinde!

Ich habe ein, für mich unlösbares Problem.
Benötige eine batch, die mir Dateinamen verkürzt.
Ein System von mir generiert ".ace-Dateien" immer mit dem gleichen Schema:

B=Buchstabe
Z=Zahl
H=Hexadezimale Stelle (halt Zahl oder Buchstabe)

BEISPIEL einer dieser Dateiennamen:

BBZZZZBBBBHHHHHHHHHHH.ace
oder
BBZZZZZBBBBHHHHHHHHHHH.ace
Das ist der Standartfall, mit den Dateien ist alles ok.

Nun kommt es vor, dass unter gewissen Umständen (systemseitig, kann nicht geändert werden) die Dateien so aussehen:
BBZZZZBBBBHHHHHHHHHHH- 1.ace
oder
BBZZZZZBBBBHHHHHHHHHHH- 1.ace

Diese Dateien müssen bisher händisch umbenannt werden, so dass der Teil "- 1" wegfällt. Der Rest muss so bleiben wie er ist.

Geht sowas automatisiert per batch?
Kann man Dateien ab einem bestimmten Zeichen verkürzen, in meinem Fall der Bindestrich?

Vielen Dank euch!

Schöne Grüße
der Stefan!
Mitglied: pieh-ejdsch
02.06.2012, aktualisiert um 22:14 Uhr
moin Stefan,

das wäre für "*-*.ace" Dateien ab was für einem Ordner?
Rekursiv in etwa so: ( @echo simuliert nur was es täte wenn es nicht mehr da steht)
01.
for /r "D:\Ordner" %%i in (*-*.ace) do @for /f "delims=-" %%j in ("%%~ni" ) do @echo ren "%%~i" "%%~j%%~xi"
Gruß Phil
Bitte warten ..
Mitglied: pi314
03.06.2012, aktualisiert um 10:44 Uhr
Falls es sich um Linux/Unix o. ä. handelt, hier ein Beispiel mit awk, so wird auf das Trennzeichen "-" reagiert und alles dahinter mit ".ace" ersetzt:

01.
for datei in *-*ace 
02.
do 
03.
  mv $datei $(echo $datei | awk -v FS="-" '{print $1}').ace 
04.
done

so long,
pi314
Bitte warten ..
Mitglied: 106942
03.06.2012 um 11:36 Uhr
Hey,

vielen Dank für die super schnelle Hilfeleistung!
Also es handelt sich nicht um Unix/Linux sondern um Windows.

Das Script von Phil klappt wunderbar!!!
Nur leider hatte ich einen kleinen Denkfehler und ein wichtiges Detail unterschlagen.
Kann man bei den Dateien mit "- 1" den vorhergehenden (nur Einen) HEX-Buchstaben durch ein "X" ersetzen?
Soll heißen, dass nach der Ausgabe nur noch 10 HEX-Werte dastehen gefolgt von einem "X" und dann .ace

Habe selbst schon am Quelltext ein bissl rumgespielt, nur leider verstehe ich nicht alle Argumente und Variablen, was es mir nicht ganz einfach macht, das selbst zu lösen...

Also das soll dann so aussehen:

Ursprungsdateien:

BBZZZZBBBBHHHHHHHHHHH- 1.ace
oder
BBZZZZZZBBBBHHHHHHHHHHH- 1.ace


gewünschte Ausgabe:

BBZZZZBBBBHHHHHHHHHHX.ace
oder
BBZZZZZZBBBBHHHHHHHHHHX.ace


Super vielen Dank euch!!!

Der Stefan
Bitte warten ..
Mitglied: Biber
03.06.2012, aktualisiert um 13:36 Uhr
Moin steffchen112,

willkommen im Forum.

Ein auf die neue Anforderungserkenntnis angepasster pieh-ejdsch-Plus-Schnipsel könnte z.B. so aussehen:
01.
-- AceUmbenamser.cmd 
02.
@echo off & setlocal enableDelayedExpansion 
03.
for /r "D:\Ordner" %%i in (*-*.ace) do ( 
04.
  for /f "delims=-" %%j in ("%%~ni" ) do ( 
05.
   Set "oldname=%%~nj"    
06.
   echo ren "%%~fi" !oldname:~,-1!X%%~xi 
07.
08.
)
-- wobei auch hier in der Zeile 06 erstmal das "ren" nur als "echo ren" simuliert wird.

Anmerkungen:
Großes Lob für die klare und übersichtliche Frageformulierung und die optische Aufbereitung. Vielen Dank.

Bitte beim nächsten Mal daran denken:
  • die Info "Ist für Windows oder ist für Linux" ist manchmal hier angebracht
  • "Batch" ist immer die Automatisierung wiederkehrender Abläufe nach bekannten Regeln. Wenn dir diese Regeln erst nach der ersten Prototyp-Fertigstellung so ganz vollständig einfallen: das kann im richtigen IT-Leben richtig teuer werden. Weil der beauftragte Coder ganz weit vorn neu anfangen muss und das bezahlt haben will.

Grüße
Biber
Bitte warten ..
Mitglied: pi314
03.06.2012 um 13:36 Uhr
Hm, Windows.. schade, aber man kann nicht alles haben

Aber mit cygwin funktioniert's auch unter Windows
Bitte warten ..
Mitglied: 106942
06.06.2012 um 14:54 Uhr
Hey Leute,

das script läuft super!!!

Vielen Dank dafür!!!

der Stefan!
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
Batch Dateinamen zerlegen
Frage von MummelSonstige Systeme5 Kommentare

Hallo Liebe Leute, hoffe mir kann einer helfen. Ich soll eine Batch schreiben, die eine abfrage macht. (Soll ein ...

Batch & Shell
Batch: doppeltes Leerzeichen in Dateinamen?
gelöst Frage von WoswaasiBatch & Shell3 Kommentare

Hallo! Wir verarbeiten bei uns in der Arbeit Audio-Dateien, die über Nacht in 5-Minuten-Abschnitte gesplittet werden. Ich habe dafür ...

Batch & Shell
Dateinamen einer ausgeführten Batch verändern
Frage von DD-GamerBatch & Shell5 Kommentare

Hallo, ich möchte den Dateinamen der auszuführenden .bat um eins erhöhen nachdem ich sie ausgeführt habe. Das würde dann ...

Batch & Shell
Batch rar und der Dateiname
gelöst Frage von Fastbyte23Batch & Shell17 Kommentare

Guten Tag, ich habe eine Aufgabe meines Ausbilder bekommen und versuche mich gerade zum ersten mal! an Batch Dateien. ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...