URL: https://www.overclockers.at/applications/powershell-skript-ordner-erstellen-nach-dateiname_256050/page_1 - zur Vollversion wechseln!
Servus alle!
Ich habe hier schon einen Post gelesen, in dem es darüber ging, wie ich einen Ordner aus einem Dateinamen erstelle. (Powershell)
Jedoch möchte ich es ein wenig anders haben, aber dadurch, dass ich keine Ahnung davon habe, frage ich hier, ob eventuell jemand so nett wäre und mein Skript etwas ergänzen möchte.
Meine Dateien (JahrMonatTagStundeMinuteSekunde.txt):
20190410075156.txt
20200708152832.txt
Mein derzeitiger Code:
Code:$files = Get-ChildItem "C:\Users\wtb-mmaier\Desktop\vondort\*.txt" | Where-Object {!$_.psiscontainer}; foreach($file in $files) { $folderPath = "$($file.DirectoryName)\$($file.BaseName.Substring(0,4))"; if (!(Test-Path -PathType Container $folderPath)) { New-Item -Path $folderPath -type Directory; } Move-Item "$($file.DirectoryName)\$($file.Name)" $folderPath; }
Mit einem substring(4,6) solltest auch die Monate rausbekommen und dann kannst genau so vor gehen, wie bei den Jahren. Ich hab leider grad keinen PC zur Hand das ich dir das schnell rausschreib, bin nur am Handy, sry.
Wäre nett, wenn du es mir schreiben könntest. Ich probiere gerade die ganze Zeit herum. Mit Substring(4,6) geht es nicht, nur mit Substring(4,2). Die Monats-Ordner werden mir erstellt, aber nicht in den Jahres-Ordner, sondern separat und die .txt-Dateien werden nur ins Jahr verschoben.
würde dann so in etwa aussehen
Code:$files = Get-ChildItem -File "C:\temp\ps\*.txt" foreach ($file in $files) { $folderPath = Join-Path $file.DirectoryName $($file.BaseName.Substring(0, 4)) $($file.BaseName.Substring(4, 2)) if (!(Test-Path -PathType Container $folderPath)) { New-Item -Path $folderPath -type Directory } Move-Item $file $folderPath }
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025