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, 8809 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

Verzeichniss überwachen Datei kopieren und umbenennen

gelöst Frage von fischle63Batch & Shell6 Kommentare

Hallo, Habe folgendes Problem: In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd" Ich brauche eine ...

Batch & Shell

Verzeichnis überwachen und Aktion ausführen

gelöst Frage von jan99Batch & Shell1 Kommentar

Moin ! ich habe ein Verzeichnis in welche DLL und tbp-Dateien (für Topobase) abgelegt werden sollen. Immer wenn diese ...

Batch & Shell

Verzeichnis auf min-max in MB zu überwachen und Dateien zu löschen

Frage von BlattlausOGBatch & Shell2 Kommentare

Hallo zusammen, diesen Quellcode nutze ich im Moment, um das Verzeichnis "C:\TEST" auf eine maximale Anzahl von Dateien abzufragen ...

Batch & Shell

Datei mit Variablem namen in Variablem Verzeichnis umbenennen

Frage von PinkFLuffyUnicornBatch & Shell6 Kommentare

Moin Leute,i bims mal wieder. ich versuche nun seit ner gefühlten Ewigkeit, folgendes Script zum laufen zu bringen. es ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 16 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...