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
GELÖST

Dateinamen per Batch um x Zeichen am Anfang kürzen

Frage Entwicklung Batch & Shell

Mitglied: simonavenia

simonavenia (Level 1) - Jetzt verbinden

12.10.2009 um 12:41 Uhr, 12198 Aufrufe, 3 Kommentare

Hallo allerseits,

ich habe ein Problem und das geht so:

Ein Programm erzeugt mir Dateien, die z. B. folgendermaßen aussehen:

94512_09-10-10_10-32-50.txt

Dabei sind die ersten fünf Ziffern ein mehr oder weniger willkürlicher Zahlencode, den keiner brasucht, und nach den Unterstrichen folgen Datum und Uhrzeit. Letzteres ist auch ganz praktisch, denn so könnte man die Dateien schon chronologisch sortiert in einem Ordner verwalten - aber die ersten fünf Zeichen verhindern das leider.

Ich suche also nach einer Möglichkeit, die Datei mittels Batchdatei von den ersten sechs Zeichen zu befreien.

Viele Grüße,

Simon
Mitglied: Woolfsmann
12.10.2009 um 13:37 Uhr
Hi,

ich weiß du suchst eine Batchlösung, die kann ich nicht anbieten aber sollte sich wiedererwartend keiner finden der das eben Hier reinschreibt. Kann ich ne Lösung in Perl anbieten.

01.
#/usr/lib/perl -w 
02.
use strict; 
03.
my($pfad,$datei,@dir); 
04.
$pfad="."; 
05.
 
06.
opendir(DIR,$pfad)|| die $!; 
07.
@dir=grep /\.txt/, readdir(DIR); 
08.
foreach $datei (@dir) 
09.
10.
	if ($datei =~ /(\d{5}_)(.*\.txt)/) 
11.
12.
		rename($datei,$2) || die "Fehler beim Umbenennen: $!"; 
13.
14.
}
Bitte warten ..
Mitglied: Biber
12.10.2009 um 14:01 Uhr
Moin simonavenia,

wilkommen im Forum.
eine Alternative wäre ein Oneliner vom CMD-Prompt:
01.
(=13:58:44  D:\temp=) 
02.
>for %i in (*_??-??-??_*.txt) do @for /f "delims=_ tokens=2,3*" %j in ("%i") do @echo ren "%i" "%j_%k" 
03.
ren "94512_09-10-10_10-32-50.txt" "09-10-10_10-32-50.txt"
[Das ">" vor dem FOR nicht mit eingeben; das ist mein CMD-Prompt]
Der Schnipsel setzt voraus, dass du dich im Verzeichnis der umzubenamsenden Dateien befindest.

Grüße
Biber
Bitte warten ..
Mitglied: simonavenia
12.10.2009 um 14:56 Uhr
Hallo Woolfsmann, hallo Biber,

ich hab keine Ahnung von Perl und mal die CMD-Variante ausprobiert. Wenn ich das wie befohlen in dem Ordner mit der Datei eingebe, wird zwar genau der Text gepromptet, den Biber in Zeile 3 stehen hat - aber mit der Datei passiert nix! Was mach ich falsch?

Grüße,

Simon

EDIT - okay, bin selbst drauf gekommen. Man entfernt also das @echo ;o) Ich hab außerdem mal aus allen % ein %% gemacht und das dann so in ein Batch eingebaut - funktioniert wunderbar!

Vielen Dank dafür!

Kleiner Nachschlag: Was müsste man denn tun, um die 09 am Anfang in 2009 zu ändern?

EDIT - hab jetzt mal mein Gehirn angestrengt und es selbst glöst. Vielen Dank nochmal für den Denkanstoß!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

Batch & Shell
gelöst Dateien (PDF) umbenennen via batch, teilw. Dateinamen übernehmen, neues Präfix (6)

Frage von brause1701 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(40)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (8)

Frage von ahaeuser zum Thema Windows Server ...