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

Rename von Dateien auf alle Unterordner ausdehnen

Frage Entwicklung Batch & Shell

Mitglied: wolf56

wolf56 (Level 1) - Jetzt verbinden

12.12.2014, aktualisiert 09:37 Uhr, 1465 Aufrufe, 9 Kommentare, 3 Danke

Hallo zusammen,
habe mir eine Batchdatei geschrieben, um schnell Dateien auf einem Mediaserver verschwinden zu lassen und wiederherzustellen.
Möchte gern diese Schleifen auf alle Unterordner ausdehnen und komme nicht weiter. Wäre für Hilfe Dankbar.

Verschwinde-Batch:
@echo off

:1
if not exist *.avi goto 2
ren *.avi "*.a"
goto 1

:2
if not exist *.mp4 goto 3
ren *.mp4 "*.4"
goto 2

:3
if not exist *.mpg goto 4
ren *.mpg "*.m"
goto 3

:4
if not exist *.wmv goto 5
ren *.wmv "*.w"
goto 4

:5
if not exist *.flv goto 6
ren *.flv "*.f"
goto 5

:6
if not exist *.swf goto 7
ren *.swf "*.s"
goto 6

:7
if not exist *.mov goto 8
ren *.mov "*.v"
goto 7

:8
if not exist *.mkv goto 9
ren *.mkv "*.k"
goto 8

:9
if not exist *.ram goto fertig
ren *.ram "*.r"
goto 9

:fertig
exit
Funktioniert nur im ausgeführtem Ordner, möchte aber alle Unterordner mit durchlaufen lassen.
Hätte da jemand eine effektive Lösung?

Gruß
Wolf56
Mitglied: 114757
LÖSUNG 12.12.2014, aktualisiert um 09:37 Uhr
Powershell:
01.
gci "c:\Ordner\*" -include *.mp4,*.avi,*.mpg,*.mkv,*.flv,*.mov,*.swf,*.ram,*.wmv -recurse | rename-item -NewName {"$($_.Name).x"} -Force
und das ganze dann wieder rückgängig
01.
gci "c:\Ordner\*.x" -recurse | rename-item -NewName {($_.Name -replace '\.x$','')} -Force
Gruß jodel32
Bitte warten ..
Mitglied: wolf56
12.12.2014, aktualisiert um 10:24 Uhr
Hallo Jodel32.
Dank erst mal für die schnelle Hilfe, aber ich bin kein Programmierer und verstehe nur Bahnhof.
Wie soll das zusammen mit meiner Batchdatei funktionieren.
Habe nur kleines Programmierhirn und halte mich an das was ich noch verstehen und nachvollziehen kann.
Würde auch gern mit meiner Datei weiter arbeiten. Wie würde ich das in meine Datei einbinden?
Jede Suche auf dem Server würde weiterhin *.avi, *.mkv usw. immernoch finden. Das wollte ich verhindern.

Gruß wolf56
Bitte warten ..
Mitglied: Xaero1982
12.12.2014, aktualisiert um 10:54 Uhr
Moin,

wieso gilt der als gelöst wenn er es nicht ist?

01.
@echo off 
02.
 
03.
set ordnername=Ordnername (OHNE "") (Hier den Hauptordner angeben) 
04.
 
05.
for /f "delims=|" %%f in ('forfiles /p %ordnername% /s /m *.txt /c "cmd /c echo @path"') do ren %%f "%%~nf.t" 
06.
 
Ordnernamen angeben
*.txt anpassen
"%%~nf.t" -> .t ist die gewünschte Dateiendung -> auch anpassen

Geht sicher auch eleganter

Grüße
Bitte warten ..
Mitglied: 114757
12.12.2014, aktualisiert um 11:35 Uhr
Dank erst mal für die schnelle Hilfe, aber ich bin kein Programmierer und verstehe nur Bahnhof.
Dann fahr halt weiter Bus, die Bahn fährt sowieso nur noch jedes Schaltjahr
Wie soll das zusammen mit meiner Batchdatei funktionieren
Google ist dein Freund ....
powershell -ExecutionPolicy ByPass -File "C:\powershellcode.ps1"
Bitte warten ..
Mitglied: Xaero1982
LÖSUNG 12.12.2014, aktualisiert um 13:27 Uhr
Um deine Frage zu beantworten die du mir per PN gestellt hast:

Einfach das Set Ordnername weg lassen und das "/p %ordnername%"

Dann sollte es auch von dem Ordner aus gehen in dem du dich gerade befindest. Oder du übergibst den Ordnernamen an die Batch.

Einfach nur:

meinebatch.bat "ordnername"

In der Batch dann selbst mit %~1 ansprechen statt %ordnername%

Grüße
Bitte warten ..
Mitglied: wolf56
12.12.2014 um 13:27 Uhr
Besten Dank Xaero1982,
hab dank Deiner Hilfe alles hin bekommen, wie ich es wollte.

Gruß
wolf56
Bitte warten ..
Mitglied: Xaero1982
12.12.2014 um 13:28 Uhr
Na das freut mich doch

Grüße
Bitte warten ..
Mitglied: wolf56
13.12.2014 um 12:32 Uhr
Eine Kleinigkeit wäre da noch mit den Attributen der Files "/H" was ich nicht hin bekomme. Neue Files sollen versteckt sein, und umgekehrt versteckte sichtbar.

Gruß

wolf56
Bitte warten ..
Mitglied: Xaero1982
LÖSUNG 13.12.2014, aktualisiert 16.12.2014
Was meinst du eigentlich mit neue?

Verstecken bzw. nicht verstecken sollte so gehenungetestet)

Verstecken:
01.
for /f "delims=|" %%f in ('forfiles /s /m *.* /c "cmd /c echo @path"') do ATTRIB %%f +H
Nicht verstecken
01.
for /f "delims=|" %%f in ('forfiles /s /m *.* /c "cmd /c echo @path"') do ATTRIB %%f -H
Musst du dir dann zusammen basteln. Jetzt versteckt bzw. versteckt er nicht alle Dateien in dem Ordner und Unterordnern.
Wenn du es nur auf zuvor umbenannte anwenden willst musst du das *.* in *.x (x=mit passender Dateiendung ersetzen) ändern.

Grüße
Bitte warten ..
Ähnliche Inhalte
Windows 10
gelöst Script rename (5)

Frage von Florian86 zum Thema Windows 10 ...

VB for Applications
gelöst Ordner inkl Dateien und Unterordner mit VBA löschen (4)

Frage von it4baer zum Thema VB for Applications ...

Batch & Shell
Powershell multiple Datei-Inhaltssuche und mehrere Unterordner (3)

Frage von Jenny82 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...