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

Verzeichnis überwachen und neue Dateien automatiosch umbenennen

Mitglied: diwaffm

diwaffm (Level 2) - Jetzt verbinden

02.02.2010, aktualisiert 18.10.2012, 9292 Aufrufe, 8 Kommentare

Hi Leute,

ich suche ein Tool / Skript unter Windows, dass ein Verzeichnis überwacht und neu dort abgelegte (Text-)Dateien umbenennt - und zwar umbenennt, in dem es Teile der ersten Zeile des Inhalts als Dateinamen verwendet...

Zwar habe ich für einzelne Teilaufgaben hier schon Infos gefunden - schaffe es aber nicht, diese vernünftig zusammenzufügen.

Die umzubenennenden Dateien kann ich in einem separaten (Unter-) Verzeichnis ablegen und mit einem Prefix versehen, der gelöscht werden kann, wenn die Datei bearbeitet ist. Alternativ könnte die ganze Originaldatei nach der Bearbeitung gelöscht werden.
Die bearbeitete/umbenannte Datei kann dann in einem anderen Verzeichnis gespeichert werden.

Die Dateien haben Namen in der Form "90000019-90000019-02.lif"

Die erste Zeile hat einen Inhalt ähnlich dieser Zeile:

90000019,90000019,2,60m (7HK) Riege 3 MJA,,,,,,,

Die Datei soll in "60m (7HK) Riege 3 MJA-02.lif" umbenannt werden...


In der Zwischenzeit schaffe ich es, mit alle Dateien mit Namen wie "__ 90000019-90000019-02.lif" anzeigen zu lassen (den PRefix "__ " lasse ich durch die Anwendung dazuschreiben, die die Datei erzeugt.)

Die Datei umbenennen bzw. kopieren kriege ich auch noch hin.
Doch den neuen Namen aus der Datei extraieren kriege ich nicht hin...

Merci

dirk
Mitglied: AndreasBrecht
02.02.2010 um 12:00 Uhr
Wo genau hängt es denn? Kannst Du die Datei nicht einlesen, oder weißt Du nicht, wie Du den Teilstring aus dem Eingelesenen rausfummeln sollst?
Bitte warten ..
Mitglied: diwaffm
02.02.2010 um 12:07 Uhr
Wohl eine Kombination aus beidem

Das "Rausfummeln" sollte eigentlich mit

FOR /F "skip=3 tokens=1 delims=," %%j in (%%Datei%%) do

gehen.

Allerdings sucht er in DIESER Variante im Dateinamen und nicht in der Datei...

Ciao

dirk
Bitte warten ..
Mitglied: diwaffm
02.02.2010, aktualisiert 18.10.2012
Ich habe nun
01.
	FOR /F "tokens=4 delims=," %%j in ( 90000019-90000019-02.lif ) do	echo 8- %%j
ausprobiert - und bekomme die jeweils 4. "Spalte" ALLER Zeilen der Datei 90000019-90000019-02.lif angezeigt.

Ich brauch aber nur die erste Zeile.

Ein ähnliches Problem wird hier (https://www.administrator.de/forum/per-batch-neue-dateien-in-verzeichnis ...) beschrieben.
Leider komme ich mit der Lösung dort nicht weiter.

Wenn ich

01.
FOR %%i in (*.lif) do (
02.
	echo %%~ni
03.
	FOR /F "tokens=4 delims=," %%j in ( 'echo %%~ni' ) do echo  %%j
04.
)
ausführe, bekomme ich durch "echo %%~ni" die Dateinamen angezeigt - allerdings kommt keine
Ausgabe innerhalb der inneren FOR Schleife...

Ciao

dirk
Bitte warten ..
Mitglied: AndreasBrecht
02.02.2010 um 13:32 Uhr
Lass es mich mal so sagen, wenn Du nix gegen vb script einzuwenden hast,kann ich Dir sagen wie's geht, aonst eher nicht. (Du kannst auch mit cscript.exe ein script aus einer batch aufrufen).
Bitte warten ..
Mitglied: diwaffm
02.02.2010 um 15:41 Uhr
Mit dem Skripting Host hab' ich früher auch mal gespielt - ist aber laaange her

Solange er zum Ziel führt, ist mir der Weg eigentlich egal...

Ciao

dirk
Bitte warten ..
Mitglied: diwaffm
02.02.2010 um 18:31 Uhr
So,

hier mal meine bisherigen Ergebnisse:
01.
@echo off
02.
CLS
03.

04.
for %%i in (__*.lif) do (
05.
	echo Betrachte Datei %%i
06.
	Set Datei = %%i
07.
	FOR /F \"tokens=4 delims=,\" %%j in (%Datei%) do (
08.
		set name=%%j
09.
		goto :exit
10.
	)
11.
	:exit
12.
	echo Name: \"%name%\"
13.
	FOR /F \"tokens=3 delims=-\" %%a in (\"%i\") do (
14.
	  set lauf=%%a
15.
	)
16.
	echo Lauf: \"%lauf%\"
17.

18.
	echo  Verschiebe Datei \"%%i\" nach \"%name%-%lauf%\"
19.
	rename \"%%i\" \"%name%-%lauf%\"
20.
)
21.

22.
:eof
Es ist eine Datei im Verzeichnis, die der Maske \"__*.lif\" entspricht - und diese enthält die folgende erste Zeile:

90000021,90000021,2,60m Hürden (5HK) Riege 7 WJB,,,,,,,

Es müsste also als \"name\" eigentlich \"60m Hürden (5HK) Riege 7 WJB\" ausgelesen werden.

Und da der Dateiname \"__ 90000021-90000021-02.lif\" lautet, müsste \"lauf\" \"02.lif\" enthalten.

Beide Variablen sind aber leer...

Dirk
Bitte warten ..
Mitglied: pieh-ejdsch
03.02.2010 um 00:45 Uhr
Hallo Dirk,

haben Deine lif Dateien nun am Anfang dieses __ unterstichvorsatzetwas oder nicht?
in Deiner nächsten Schleife Zeile 13. ist Deine lif wieder im Übergeordneten Verzeichnis oder irgendwie undefinierbar.

möchtest Du diese Datei nun Verschieben oder nur umbenennen? Im Moment egal die Zeile wird in der Datei überprüft und nur wenn diese im Dateinamen enthalten ist auch entsprechend umbenannt.

01.
@echo off & setlocal
02.
chcp 1252>nul
03.
for %%i in (*.lif) do (
04.
	echo Betrachte Datei %%i
05.
	set "Datei=%%i"
06.
	for /f "tokens=1-3 delims=-" %%j in ("%%i") do set "end=%%l" & set "pre=%%j%%k" 
07.
	call :readone
08.
)
09.
chcp 850>nul
10.
pause
11.
:readone
12.
for /f "useback tokens=1-9 delims=, " %%i in ("%Datei%") do if not "%pre%" == "%%i%%j" (goto :eof) else echo Verschiebe "%Datei%" & move "%Datei%" "%%l %%m %%n %%o %%p %%q-%end%" & goto :eof
für einen Pfad zum Arbeiten würde ein
pushD "D:\Verzeichnis" empfehlenswert sein als zweite Zeile.

Gruß Phil
Bitte warten ..
Mitglied: diwaffm
03.02.2010 um 09:06 Uhr
Zitat von pieh-ejdsch:

haben Deine lif Dateien nun am Anfang dieses __ unterstichvorsatzetwas oder nicht?

Ja, sie haben...

in Deiner nächsten Schleife Zeile 13. ist Deine lif wieder im Übergeordneten Verzeichnis oder irgendwie undefinierbar.

?
Das sollte auf die gleiche Datei - nur halt diesmal auf den Inhalt verweisen...


möchtest Du diese Datei nun Verschieben oder nur umbenennen?

Umbenennen - die original-Datei wird nicht benötigt.

>Im Moment egal die Zeile wird in der Datei überprüft
und nur wenn diese im Dateinamen enthalten ist auch entsprechend umbenannt.

?
Aus der ersten Zeile soll der 4. Teilstring extraiert werden und als neuer Dateiname verwendet werden...


Dein Skript werde ich mir mal in Ruhe vornehmen.
Ich habe meines gestern Abend noch ein wenig angepasst - und es scheint zu funktionieren.
Das werde ich heute Mittag in "live" sehen

ciao

dirk
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datei aus Verzeichnis auslesen?
gelöst Frage von freshman2017Batch & Shell4 Kommentare

Hallo Ihr! Ich wollte mir gerade mit nachfolgendem Batch Befehl: alle darin befindlichen Bilder auflisten. Ausgabe: Wie kann ich ...

Batch & Shell

Batch Datei in zufälliges Verzeichnis navigieren

Frage von MarioBros778Batch & Shell4 Kommentare

Hey Leute, ich hätte da ein Frage: Ist es möglich mit einer cmd datei in ein zufälliges Verzeichnis zu ...

Batch & Shell

Ordner von einem Verzeichnis in ein anderes Verzeichnis kopieren und Datei-Name verändern

gelöst Frage von gudboyBatch & Shell15 Kommentare

Ich habe ein "Verzeichnis A" mit Ordner. Die Ordner haben immer eine "F-Nummer" und einen Titel wie z.B. " ...

Windows Installation

Windows neu aufsetzen über die Recovery-Datei

Frage von AmatuerWindows Installation2 Kommentare

Hallo zusammen, vorgestern habe ich erst ein Thread über dieses Thema bereits gestellt. Da ich glaube dass ich mich ...

Neue Wissensbeiträge
Windows Update

KB4517297 verfügbar, behebt Fehler in VB6 VBA VBScript

Information von sabines vor 1 StundeWindows Update

Das Update behebt mögliche Fehler in VB6, VBA und VBScript, die durch das Update KB4512486 vom August entstanden sind. ...

Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner2 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 2 TagenWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Humor (lol)
Wenn hacken nach hinten los geht
Information von em-pie vor 3 TagenHumor (lol)5 Kommentare

Moin, weil heute Freitag ist, nachfolgender kurzer Artikel zum schmunzeln:) l+f: NULL ist ein notorischer Falschparker

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs29 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Hyper-V
Bei Neuaufbau auf Core-Server setzen?
gelöst Frage von dertowaHyper-V19 Kommentare

Hallo zusammen, ich habe vor einigen Monaten die Verantwortung für eine EDV-Landschaft übernommen die seit Jahren von einem Dienstleister ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
Frage von SnowbirdHyper-V18 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid16 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...