Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Moderators: Hacker, Stefan2, white
-
- Junior Member
- Posts: 20
- Joined: 2012-10-11, 15:24 UTC
Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Hallo Zusammen,
folgendes Problem oder besser gesagt folgende Frage.
Ich möchte Foto-Ordner (weit über 1000, daher die Frage) die sich immer in der gleichen Ebenentiefe befinden, automatisch in den ersten Unterordner "verschieben". Die Namen der Überordner sind leider nicht immer identisch, sollte das ausschlaggebend für die Problemlösung sein.
IST
Bla \ blub \ blabla \ Fotos
Bla bla \ Bla bla \ Blabla \ Fotos
blabla \ bla \ blabla \ Fotos
SOLL
Bla \ Fotos
Bla bla \ Fotos
blabla \ Fotos
Ich hoffe, ihr könnt mich verstehen und mir bei meinem Problem helfen.
VG
folgendes Problem oder besser gesagt folgende Frage.
Ich möchte Foto-Ordner (weit über 1000, daher die Frage) die sich immer in der gleichen Ebenentiefe befinden, automatisch in den ersten Unterordner "verschieben". Die Namen der Überordner sind leider nicht immer identisch, sollte das ausschlaggebend für die Problemlösung sein.
IST
Bla \ blub \ blabla \ Fotos
Bla bla \ Bla bla \ Blabla \ Fotos
blabla \ bla \ blabla \ Fotos
SOLL
Bla \ Fotos
Bla bla \ Fotos
blabla \ Fotos
Ich hoffe, ihr könnt mich verstehen und mir bei meinem Problem helfen.
VG
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Was ist denn mit "den ersten" gemeint?
Immer der Erste nach dem Laufwerksbuchstaben?
X:\ Bla \ Fotos
Oder kann man auch einfach alle "Fotos" Ordner um zwei Ebenen nach "oben" verschieben?
Wie wählst du den die "Fotos" Ordner aus, heißen die immer Fotos?
Ist da immer nur ein Ordner auf der "Foto-Ebene"?
Oder willst du einfach den gerade ausgewählten Ordner per Knopfdruck verschieben?
Die "Namen der Überordner" sind hier tatsächlich unerheblich, da wir einfach nach Hierarchieebenen vorgehen.
Nützlich wäre ja, von X:\ aus, in allen ausgewählten "Überordner 1", den jeweils vierten Ordner nach "1" zu verschieben:
IST
1 \ 2 \ 3 \ 4 Fotos
SOLL
1 \ Fotos
1 \ 2 \ 3 \
- Für jeden ausgewählten "1"
-- gehe in "2"
--- gehe in "3"
---- nimm den dortigen Ordner und verschiebe ihn nach "1"
Immer der Erste nach dem Laufwerksbuchstaben?
X:\ Bla \ Fotos
Oder kann man auch einfach alle "Fotos" Ordner um zwei Ebenen nach "oben" verschieben?
Wie wählst du den die "Fotos" Ordner aus, heißen die immer Fotos?
Ist da immer nur ein Ordner auf der "Foto-Ebene"?
Oder willst du einfach den gerade ausgewählten Ordner per Knopfdruck verschieben?
Die "Namen der Überordner" sind hier tatsächlich unerheblich, da wir einfach nach Hierarchieebenen vorgehen.
Nützlich wäre ja, von X:\ aus, in allen ausgewählten "Überordner 1", den jeweils vierten Ordner nach "1" zu verschieben:
IST
1 \ 2 \ 3 \ 4 Fotos
SOLL
1 \ Fotos
1 \ 2 \ 3 \
- Für jeden ausgewählten "1"
-- gehe in "2"
--- gehe in "3"
---- nimm den dortigen Ordner und verschiebe ihn nach "1"
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Hallo ruffneck21,
Alt-F7, Fotos, Enter, Anwenden, alle markieren, F6, "..\..\"?
HTH
Roman
Alt-F7, Fotos, Enter, Anwenden, alle markieren, F6, "..\..\"?
HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
-
- Junior Member
- Posts: 20
- Joined: 2012-10-11, 15:24 UTC
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Im Prinzip so wie Roman es oben zeigt: Ordner markieren > F6 >> ..\..\ >>> Enter
Nur das dann alles in EINEM Foto-Ordner landet, und gleichnamige Bilder überschrieben werden, oder du sie umbenennen musst.
Wir benötigen mehr Details...
-
- Junior Member
- Posts: 20
- Joined: 2012-10-11, 15:24 UTC
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Stefan2 wrote: ↑2019-02-21, 14:25 UTCIm Prinzip so wie Roman es oben zeigt: Ordner markieren > F6 >> ..\..\ >>> Enter
Nur das dann alles in EINEM Foto-Ordner landet, und gleichnamige Bilder überschrieben werden, oder du sie umbenennen musst.
Wir benötigen mehr Details...
Ok, also eigentlich wie oben (versucht) zu beschreiben.
"X:\ Bla \ Fotos" sollte immer das Ziel sein. Die Foto-Ordner liegen immer in der gleichen Unterebene.
IST
"X: \ Stadt 1 \ blub \ blabla \ Fotos (Fotos liegt also im Unterordner "blabla" und "blub")
SOLL
"X: \ Stadt 1 \ Fotos (als eigenständiger Ordner)
"X: \ Stadt 1 \ blub \ blabla (wäre dann leer)
Und so soll das bei allen Foto-Ordnern ablaufen.
Hilft dir/euch das weiter?
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Romans Tipp funktioniert bei mir nicht, der neue Fotos -Ordner wird bei mir irgendwo oberhalb erstellt,
aber nicht jeweils vom Ausgangspunkt genau zwei Ebenen nach oben verschoben.
Ich muss das mal testen und brauche mehr Zeit.
Bestimmt existiert schon irgendwo ein Skript (zB "purge sub folder" oder so, gab es doch mal, oder?)
Wahrscheinlich wird es ein neues Skript:
- von X:
- - gehe in jeden markierten Ordner (1)
- - - gehe zwei Ebenen tiefer zu (3)
- - - nimmt dort den Foto-Ordner (4)
- - - Move den Foto-Ordner (4) zwei Ebenen höher zu (1)
- - nächster Ordner
aber nicht jeweils vom Ausgangspunkt genau zwei Ebenen nach oben verschoben.
Ich muss das mal testen und brauche mehr Zeit.
Bestimmt existiert schon irgendwo ein Skript (zB "purge sub folder" oder so, gab es doch mal, oder?)
Wahrscheinlich wird es ein neues Skript:
- von X:
- - gehe in jeden markierten Ordner (1)
- - - gehe zwei Ebenen tiefer zu (3)
- - - nimmt dort den Foto-Ordner (4)
- - - Move den Foto-Ordner (4) zwei Ebenen höher zu (1)
- - nächster Ordner
-
- Junior Member
- Posts: 20
- Joined: 2012-10-11, 15:24 UTC
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Habt MUT :
bei Namen "..\..\[N]" eingeben
Button "Start!"
STRG+M (MUT starten)Hacker wrote:Alt-F7, Fotos, Enter, Anwenden, alle markieren,
bei Namen "..\..\[N]" eingeben
Button "Start!"
"War is evil, in so far as it makes more bad people than it takes away."
Immanuel Kant in "Perpetual Peace"
Immanuel Kant in "Perpetual Peace"
-
- Junior Member
- Posts: 20
- Joined: 2012-10-11, 15:24 UTC
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Ok, das es so einfach ist hätte ich dann doch nicht gedacht.
Vielen Dank!
Gibt es noch einen Trick, dass - sollte ein Ordner mit gleichem Namen bereits in der Ebene vorhanden sein - dieser überschrieben wird, bzw. der Ordnerinhalt einfach zum bestehenden hinzugefügt wird? Das funktioniert leider nicht, er möchte immer einen neuen Namen vergeben.
Also wenn der Ordner "Fotos" --> x:\Ort\Fotos\Archiv\Fotos
so umbenannt wird "..\..\Fotos" will er die Aktion nicht durchführen, da der gleiche Ordner in der Ebene bereits vorhanden ist.
Vielen Dank!
Gibt es noch einen Trick, dass - sollte ein Ordner mit gleichem Namen bereits in der Ebene vorhanden sein - dieser überschrieben wird, bzw. der Ordnerinhalt einfach zum bestehenden hinzugefügt wird? Das funktioniert leider nicht, er möchte immer einen neuen Namen vergeben.
Also wenn der Ordner "Fotos" --> x:\Ort\Fotos\Archiv\Fotos
so umbenannt wird "..\..\Fotos" will er die Aktion nicht durchführen, da der gleiche Ordner in der Ebene bereits vorhanden ist.
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Geht nicht mit dem MUT - leider.ruffneck21 wrote: ↑2019-02-22, 11:23 UTCGibt es noch einen Trick, dass - sollte ein Ordner mit gleichem Namen bereits in der Ebene vorhanden sein - dieser überschrieben wird, bzw. der Ordnerinhalt einfach zum bestehenden hinzugefügt wird?
"War is evil, in so far as it makes more bad people than it takes away."
Immanuel Kant in "Perpetual Peace"
Immanuel Kant in "Perpetual Peace"
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Lösung des Problems: Mit MUT Namen vergeben, welche sich einfach über Suche ALT+F7 finden lassen. Nach MUT Verschiebeaktion Suche ALT+F7 erneut starten, nach den neu vergebenen Namen suchen lassen, Anwenden, Alles markieren, Umbenennen in "Fotos".ruffneck21 wrote: ↑2019-02-22, 11:23 UTCGibt es noch einen Trick, dass - sollte ein Ordner mit gleichem Namen bereits in der Ebene vorhanden sein - dieser überschrieben wird, bzw. der Ordnerinhalt einfach zum bestehenden hinzugefügt wird?
Wenn so was öfter vorkommt, würde allerdings eine Automatisierung (nicht mehr mit dem TCmd) sinnvoll sein.
"War is evil, in so far as it makes more bad people than it takes away."
Immanuel Kant in "Perpetual Peace"
Immanuel Kant in "Perpetual Peace"
Re: Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
Ich habe in der Mittagspause mal etwas versucht...
- speichere den Code im TC Ordner als "MoveSubfolderUp.vbs"
- Ändere die 'USER SETTINGS
- Erstelle einen TC-Button:
Kommando = "%Commander_Path%\MoveSubfolderUp.vbs"
Parameter = "%L"
Startpfad =
Icon = WCMICONS.DLL
Tooltip =
-- Habe ein BACKUP !
-- wähle einen oder mehrere Ordner aus
-- klick auf den neuen Button
-- Erledigt, Dateien vom gesuchten Ordner "strSearchedSubfolderName" in bestimmter Tiefe "intSearchedSubfolderDepth"
wurden verschobenen nach ZielOrdner "selectedFolder \ strTargedSubfolder" und umbenannt bei Namensgleichheit
- speichere den Code im TC Ordner als "MoveSubfolderUp.vbs"
- Ändere die 'USER SETTINGS
- Erstelle einen TC-Button:
Kommando = "%Commander_Path%\MoveSubfolderUp.vbs"
Parameter = "%L"
Startpfad =
Icon = WCMICONS.DLL
Tooltip =
-- Habe ein BACKUP !
-- wähle einen oder mehrere Ordner aus
-- klick auf den neuen Button
-- Erledigt, Dateien vom gesuchten Ordner "strSearchedSubfolderName" in bestimmter Tiefe "intSearchedSubfolderDepth"
wurden verschobenen nach ZielOrdner "selectedFolder \ strTargedSubfolder" und umbenannt bei Namensgleichheit
Code: Select all
'// VBScript for TotalCommander, Stefan, v0.001, 2019-02-22 Fri 16:12:56
'// Purpose:
'// Found at: https://ghisler.ch/board/viewtopic.php?p=351905#p351905
' Ordner (gleiche Ebenentiefe) in Ordnerhierarchie nach vorne verschieben
'//
'// --- save the code in TC folder as "MoveSubfolderUp.vbs"
'// --- Modify the 'USER SETTINGS
'// -- Create an TC-Button:
'// Command = "%Commander_path%\MoveSubfolderUp.vbs"
'// Parameters = "%L"
'// Start path =
'// Icon file = WCMICONS.DLL
'// Tooltip =
'//
'// -- HAVE A BACKUP ! ;-)
'// -- select one or more folder to work on
'// -- click the button
'// -- Done, files from strSearchedSubfolderName in intSearchedSubfolderDepth
'// are moved to selectedFolder\strTargedSubfolder and renamed if need on duplicates
'//////////////////////////////////////////////////////////////////
'USER SETTINGS
'//the subfolder of selected folder as target to copy file to:
strTargedSubfolder = "Fotos"
'//the name of the subfolder to find below of selected folder:
strSearchedSubfolderName = "Fotos"
'//find subfolder only on the level x:
intSearchedSubfolderDepth = 3
'//////////////////////////////////////////////////////////////////
'THE CODE
If (Wscript.arguments.count < 1) Then
MsgBox "Please use from TC with parameter like '%L'",,"VBScript - ERROR"
WScript.Quit
End If
sTCtempList = Wscript.arguments.Item(0) ' The TC temp file due to the "%L" parameter
SET FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(sTCtempList) Then
Set oTextStream = FSO.OpenTextFile(sTCtempList,1)
Do Until oTextStream.AtEndOfStream
strLine = oTextStream.ReadLine
If(Right(strLine,1)= "\") Then
strSelectedFolder = strLine
Else
WScript.Quit
End If
iStartFldDepth = len(strSelectedFolder) - len(replace(strSelectedFolder,"\",""))-2
strSearchedSubfolderPATH=""
GetSubFolderPATHinDepthX strSelectedFolder, iStartFldDepth, intSearchedSubfolderDepth, strSearchedSubfolderName
If(strSearchedSubfolderPATH<>"") Then
If Not(FolderIsEmpty(strSearchedSubfolderPATH)) Then
strDestinationFld = strSelectedFolder & strTargedSubfolder & "\"
If Not (FSO.FolderExists(strDestinationFld)) Then
FSO.CreateFolder(strDestinationFld)
End If
strFilesList = GetFilesFromFolder(strSearchedSubfolderPATH)
arrFilesList = split(strFilesList, vbCRLF)
For x=0 to Ubound(arrFilesList)
strFileToCopy = arrFilesList(x)
If(strFileToCopy<>"") Then
sBase = FSO.GetBaseName(strFileToCopy)
sExte = "." & FSO.GetExtensionName(strFileToCopy)
iDuplicate=2
strCopyFile = strFileToCopy
While FSO.FileExists(strDestinationFld & "\" & strCopyFile)
strCopyFile = sBase & "_" & iDuplicate & sExte
iDuplicate=iDuplicate+1
Wend
FSO.MoveFile strSearchedSubfolderPATH & "\" & strFileToCopy, strDestinationFld & strCopyFile
End If
Next
End If
'// Remove sub folder:
If(FolderIsEmpty(strSearchedSubfolderPATH)) Then
FSO.DeleteFolder strSearchedSubfolderPATH
Else
Msgbox "error on DELETE folder: folder is not empty: "&vbLF&vbLF&strSearchedSubfolderPATH
End If
Else
Msgbox "error on GET folder: no searched sub folder <<"&strSearchedSubfolderName&">> found (anymore?) in"&vbLF&vbLF&strSelectedFolder
End If '(strSearchedSubfolderPATH<>"")
Loop
oTextStream.Close
MsgBox "All Folders Done "
Else
MsgBox "E R R O R: Input file 'sTCtempList' (%L) not found "_
& " OR no selection done before.",,"TCs-VBScript - ERROR"
WScript.Quit
End If
'//////////////////////////////////////////////////////////////////
Function GetSubFolderPATHinDepthX(strStartFolder,iStartDepth,iWantedDepth, strSearchName)
strSearchName = Ucase(strSearchName)
Set oFolder = FSO.GetFolder(strStartFolder)
For Each oSubFld in oFolder.SubFolders
iFolderDepth = len(oSubFld.Path) - len(replace(oSubFld.Path,"\","")) - 1 - iStartDepth
If iFolderDepth = iWantedDepth Then
If Ucase(oSubFld.Name) = strSearchName Then
GetSubFolderPATHinDepthX = oSubFld.Path
strSearchedSubfolderPATH = oSubFld.Path
Exit For
End If
End If
GetSubFolderPATHinDepthX oSubFld, iStartDepth, iWantedDepth, strSearchName
Next
End Function 'GetSubFolderPATHinDepthX
Function FolderIsEmpty(strFolder)
If FSO.FolderExists(strFolder) Then
Set oFld = FSO.GetFolder(strFolder)
If oFld.Files.Count = 0 And oFld.SubFolders.Count = 0 Then
FolderIsEmpty=True
Else
FolderIsEmpty=False
End If
End If
End Function 'FolderIsEmpty
Function GetFilesFromFolder(strFolder)
Set oFolder = FSO.GetFolder(strFolder)
Set colFiles = oFolder.Files
' If colFiles.count > 0 Then
For Each oFile in colFiles
sOUT = sOUT & oFile.Name & vbCRLF
Next
GetFilesFromFolder = sOUT
End Function 'GetFilesFromFolder
'//////////////////////////////////////////////////////////////////
-
- Junior Member
- Posts: 20
- Joined: 2012-10-11, 15:24 UTC