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, 1239 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ordner inkl. Unterordner nach Dateien überprüfen (4)

Frage von belfry zum Thema Batch & Shell ...

Batch & Shell
gelöst Rename von Dateien auf Netzlaufwerk (23)

Frage von hirschQ zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien mit Teil des Dateinamen per Batch in Unterordner verschieben (14)

Frage von smitternacht zum Thema Batch & Shell ...

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 ...