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, 11861 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...