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

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

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
IDE & Editoren
USB STICK Datei AUTOMATISCH beim anschliessen auf fremden PC öffnen (9)

Frage von Jwanner83 zum Thema IDE & Editoren ...

Batch & Shell
Script zum Auflösen einer Ordnerstruktur und zurück gesucht (12)

Frage von websolutions zum Thema Batch & Shell ...

Microsoft Office
gelöst Registerkarte in Excel automatisch färben (14)

Frage von ralfkausk zum Thema Microsoft Office ...

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

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...