Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

Bildnamen automatisch in Masse umbenennen - Ordnerstruktur muss beibehalten werden

Frage Entwicklung Batch & Shell

Mitglied: modernsolution

modernsolution (Level 1) - Jetzt verbinden

03.02.2015, aktualisiert 21:09 Uhr, 942 Aufrufe, 4 Kommentare

Hallo Leute

ich benötige einmal eure Hilfe zur folgender Situation:

Ein Vorlieferant stellt uns Artikelbilder sehr bescheiden zur Verfügung.

Nun muss ich eine möglichkeit finden diese Bildnamen in Masse zu verändern.

Die Ordnerstruktur sieht wie folgt aus :


Bildorder/Kapitelorder/ -> bildname.jpg

Wir haben die Situation das beispielweise 3 Bilder in einem Order liegen wo das

1. Bild -> 3123as32.jpg
2. Bild -> 212dssasd.jpg
3. Bild -> bild01.jpg

heist.

Nun muss ich immer die Situation haben das die bilder in eine Reihenfolge umbenannt werden die wie folgt aussieht

1. Bild -> 3123as32.jpg -> 301.jpg
2. Bild -> 212dssasd.jpg -> 302.jpg
3. Bild -> bild01.jpg ->303.jpg

sollte es weitere bilder geben müssen diese 304,305,306 usw heisen ...

Desweiteren muss die Struktur der Ordner beibehalten bleiben.....

Es müsste quasi ein Script sein den der Name des JPG nicht interessiert und es immer heist "bennene das 1. Bild in 301.jpg um, das 2. Bild in 302.jpg usw. "

Kann man dies irgendwie mit einem Script oder so drüberlaufen lassen ?

Würde mich über eure Hilfe freuen

LG TIMO
Mitglied: colinardo
LÖSUNG 03.02.2015, aktualisiert um 21:09 Uhr
Hallo Timo,
mit Powershell würde das etwa so aussehen:
01.
$rootFolder = 'c:\Bilder' 
02.
gci $rootFolder -Recurse | ?{$_.PSIsContainer} | %{ 
03.
    $jpgs = gci $_.Fullname -Filter "*.jpg" 
04.
    if($jpgs){ 
05.
        $cnt = 1 
06.
        $jpgs | %{rename-item $_.Fullname -newname "$((300 + $cnt).toString()).jpg" -Force -EA SilentlyContinue ; $cnt++ } 
07.
08.
}
Grüße Uwe
Bitte warten ..
Mitglied: modernsolution
03.02.2015 um 20:58 Uhr
vielen Dank für die schnelle Hilfe.

Hab noch nie was mit Powershell gemacht .. muss ich das einfach dort einfügen oder wie genau funktioniert das ?

Sry für die Unwissenheit
Bitte warten ..
Mitglied: colinardo
03.02.2015, aktualisiert um 21:06 Uhr
Zitat von modernsolution:

vielen Dank für die schnelle Hilfe.

Hab noch nie was mit Powershell gemacht .. muss ich das einfach dort einfügen oder wie genau funktioniert das ?

Anleitung: Wie starte ich Powershell-Scripte

  • Zuerst speicherst man den Code in einer Textdatei mit der Endung .ps1.
  • Wenn man zum ersten mal Powershell-Scripte ausführt, musst man einmalig vorher noch das Ausführen von Scripten im User-Account freischalten. Dazu öffnet man eine Powershell-Konsole und gibt dort den Befehl Set-ExecutionPolicy RemoteSigned -Force ein. Um diese Policy für alle User auf dem Rechner zu setzen muss man diesen Befehl in einer Powershell-Konsole mit Admin-Rechten starten. Noch ein Hinweis für 64-Bit-Systeme: Hier sollte sowohl für die 32bit und 64Bit Variante der Powershell die Policy in einer Admin-Konsole gesetzt werden: Set-ExecutionPolicy RemoteSigned -Force; start-job { Set-ExecutionPolicy RemoteSigned -Force } -RunAs32
  • Jetzt kann das Powershell-Script in der Powershell-Konsole mit Eingabe des kompletten Pfades der Scriptdatei, oder mit einem Rechtsklick auf die Script-Datei :Mit Powershell ausführen gestartet werden.
Starten eines Scriptes in einer Powershell-Konsole
Immer den kompletten Pfad zum Script angeben, und wenn er Leerzeichen beinhaltet in Anführungszeichen einschließen:
"C:\Pfad\script.ps1"
Liegt das Script im selben Verzeichnis in dem man sich gerade befindet, kann man es auch so abkürzen:
.\script.ps1
Methoden zum Starten von PS-Scripten aus Batch und Kommendozeilen heraus:
Hier gibt es unterschiedliche Methoden, je nach Anforderungen gibt es hier einige Besonderheiten vor allem bei Leerzeichen in Pfaden zu beachten!
Der einfachste Aufruf sieht hier so aus:
powershell.exe -File "C:\Pfad\Script.ps1"
Wenn man dem Script Parameter übergeben möchte:
powershell.exe -File "C:\Pfad\Script.ps1" "Parameter 1" "Parameter 2"
Wenn man "benannte" Parameter übergeben möchte (die einfachen Hochkommas um den Scriptpfad werden benötigt wenn er Leerzeichen beinhaltet):
powershell.exe -command "&'C:\Pfad\Script.ps1' -par1 'Wert1' -par2 'Wert2'"
Man kann auch mehrere Scripte hintereinander ausführen lassen:
powershell.exe -command "&'C:\Pfad\Script1.ps1';&'C:\Pfad\Script2.ps1'"
Bitte warten ..
Mitglied: modernsolution
03.02.2015 um 21:10 Uhr
Funktioniert - dank dir
Bitte warten ..
Ähnliche Inhalte
Rechtliche Fragen
gelöst Vernatwortlichkeit Ordnerstruktur (5)

Frage von Peterz zum Thema Rechtliche Fragen ...

Batch & Shell
gelöst Powershell - Ordnerstruktur von Remote-PC (5)

Frage von internet2107 zum Thema Batch & Shell ...

Windows Server
GPO für bevorzugte Websitedaten beibehalten deaktivieren (Internetexplorer)? (1)

Frage von grillinator95 zum Thema Windows Server ...

Microsoft Office
Massen-Verteilung von Outlook 2016 Pro-64Bit (2)

Frage von donnyS73lb zum Thema Microsoft Office ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (20)

Frage von jensgebken zum Thema Windows Server ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (13)

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