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

Batch-Skript für Rotation von Dateien durch Umbenennen gesucht

Frage Entwicklung Batch & Shell

Mitglied: MarkusMX

MarkusMX (Level 1) - Jetzt verbinden

24.12.2006, aktualisiert 09.01.2007, 5624 Aufrufe, 5 Kommentare

Hallo zusammen,

ich suche ein Batch-Skript zum Rotieren von Dateien, welches ich als geplanten Task nachts starten kann.

Die Situation:
Die Wartemusik unserer Swyx-Telefonanlage liegt als Wave-Datei vor. Jeden Tag soll eine andere Datei abgespielt werden. Dazu liegen im Verzeichnis vier Dateien vor (1.wav bis 4.wav).
Die Software spielt per Einstellung stets die Datei "1.wav" ab. Nachts sollen die Dateien mittels Skript rotiert werden, sodass jeden Tag eine andere gespielt wird.

Freue mich über Postings, wie ein solches Skript aussehen kann!

- Wünsche allen einen guten Rutsch ins neue Jahr! -

Markus
Mitglied: bastla
28.12.2006 um 22:10 Uhr
Hallo MarkusMX und willkommen im Forum!

Da man sowas ja vielleicht öfter mal braucht, habe ich einen etwas ausführlicheren Lösungsvorschlag:
01.
@echo off & setlocal 
02.
set max=4 
03.
set Pfad=Z:\Musik\  
04.
set Ext=wav 
05.
if exist %Pfad%0.%Ext% move /y %Pfad%0.%Ext% %Pfad%0.%Ext%.bak 
06.
ren %Pfad%%max%.%Ext% 0.%Ext% 
07.
for /l %%i in (%max%,-1,1) do call :RenameIt %%i 
08.
goto :eof 
09.
:RenameIt 
10.
set /a Old=%1-1 
11.
ren %Pfad%%Old%.%Ext% %1.%Ext%
Grüße
bastla

[Edit] if exist-Zeile ergänzt, um ev existierende 0.wav "aus dem Weg zu räumen" [/Edit]
Bitte warten ..
Mitglied: Biber
28.12.2006 um 22:44 Uhr
Moin MarkusMX,

willkommen auch von mir.
Wenn es denn mit Umbenennerei gelöst werden soll, ist bastla's Lösung sicher passend.

Die Rotier-Strategie, die ich allerdings vorziehen würde, wäre: Nicht umbenennen, sondern jeden Tag eine andere *.wav-Datei abspielen.
Entweder direkt aufgerufen oder eben eine Datei als 1.wav irgendwohin kopiert, wo ein Datei dieses Namens erwartet wird.
Als fester Punkt im Raum kann doch der Tag des aktuellen Datums %Date% diesen. Skizze:
01.
@echo off & setlocal 
02.
REM [falls Win2K-Datumsformat: "ttt TT.MM.JJJJ"---> kürzen auf "TT.MM.JJJJ" ] 
03.
for %%i in (%date%) do Set myDate=%%i 
04.
for /f "delims=. " %%i in ("%mydate%") do set /a TodaysJingle=%%i%%4+1 
05.
REM und jetzt entweder "Start %TodaysJingle%.wav" oder,  
06.
REM falls irgendwo fest verdrahtet in einer App eingebrannt ist "...spiel x:\subdir\1.wav" 
07.
copy /y x:\alleMeineJingles\%TodaysJingle%.wav x:\SubDir\1.wav
So oder so - ich würde nicht 5 mal Dateien umbenennen, wenn ich eine Datei namens 1.wav brauche.

Gruß
Biber
Bitte warten ..
Mitglied: bastla
29.12.2006 um 14:28 Uhr
@Biber

Sicher einer sinnvollere Lösung (und alle 4 Jahre zweimal hintereinander die gleiche Melodie ist wohl auszuhalten ) ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
04.01.2007 um 12:57 Uhr
Moin MarkusMX,

Nachfrage:
Hattest Du denn schon Zeit und Gelegenheit, einen der Lösungsvorschläge auszuprobieren?
Falls ja, mit welchem Ergebnis?

Gruß
Biber
Bitte warten ..
Mitglied: Biber
09.01.2007 um 09:01 Uhr
Moin MarkusMX,

ich interpretiere das mal so, dass das Thema Bätche und Rotation aufgrund neuer erfreulicher privater aktueller Entwicklungen in Deinem momentanen Lebensabschnitt deutlich auf der Prioritätenliste herabgestuft wurde.

Herzlichen Glückwunsch, was auch immer der Anlass war.

Den Beitrag schließe ich.

Danke für das Gespräch.
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...