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

Verzeichnis überwachen und neue Dateien automatiosch umbenennen

Mitglied: diwaffm

diwaffm (Level 2) - Jetzt verbinden

02.02.2010, aktualisiert 18.10.2012, 8664 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 (http://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
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 ...

Batch & Shell
Dateien Umbenennen
gelöst Frage von PLBot85Batch & Shell6 Kommentare

Hi, ich habe einen Ordner wo mehrer Dateien drin liegen. 20150316_121757_92636382965528_WMA1847GK62_TDOBB112.ddd 20150314_085730_73826383950256_WMA18263926_TDOBB236.ddd etc Die sollen jetzt mittels einer Batchdatei ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

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 1 TagTipps & 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 1 TagSicherheit12 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 1 TagSicherheit9 Kommentare

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

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

Monitoring
VPN Performance Zyxel-Fritte
gelöst Frage von HenereMonitoring13 Kommentare

Servus, nachdem ihr mir ja schon so gut helfen konntet, was das VPN zwischen Zyxel USG60W und Fritte 7490 ...

Sicherheit
Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen
Information von FrankSicherheit12 Kommentare

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