Markierte Dateien direkt in neuen Order verschieben

rabab

bekommt Übersicht
Ich vermisse eine Funktion - vielleicht habe ich sie aber auch einfach noch nicht entdeckt - mit der ich Dateien markiere, dann direkt einen neuen Ordner anlegen und die Dateien, mit Klick auch Okay, direkt in den neuen Ordner verschieben kann.
Beim Sortieren größerer Dateimengen würde mir das eine ganze Menge Klicks abnehmen.
Gruß und schon mal Danke :)
 
Moin,

die Funktion scheint es so auch nicht zu geben. Schneller als die Klickerei geht es natürlich mit Tastenbefehlen, also STRG + X (gewählte Dateien ausschneiden), F7 (neuen Ordner erstellen), STRG + V (ausgeschnittene Dateien einfügen).

Beim Sortieren größerer Dateimengen würde mir das eine ganze Menge Klicks abnehmen.
Geschieht diese Sortierung nach einem Muster? In dem Fall könnte man sich die Arbeit komplett sparen, inden man den Prozess über ein Skript automatisiert. Bei der Erstellung eines solchen bin ich gerne behilflich - du müsstest mir dann nur sagen, welche Dateien in welche Unterordner zu sortieren sind.

Gruß Thomas
 
Sorry für die späte Antwort, bei mir ist einiges dazwischen gekommen.
Und danke für Dein Angebot, aber ich bräuchte solch eine Funktion vorwiegend bei Fotos um sie ein wenig zu kategorisieren.
 
danke für Dein Angebot, aber ich bräuchte solch eine Funktion vorwiegend bei Fotos um sie ein wenig zu kategorisieren.
Achso. Dann mal abwarten, ob @fC-Marek sich meldet. Vielleicht ergänzt er ja eine entsprechende Option.

Übergangsweise könnte ich dir ansonsten ein Skript anbieten, welches die gewünschte Funktion solange schon mal übernimmt. Dieses kannst du einfach über die Programmfavoriten in den FreeCommander einbinden...
Code:
#region SETTINGS
  Using NameSpace System.Windows.Forms
  [CmdletBinding()]Param([parameter(ValueFromRemainingArguments)][string[]]$items)
  Add-Type -AssemblyName System.Windows.Forms
  [Application]::EnableVisualStyles()
  [char[]]$invalid = [System.IO.Path]::GetInvalidPathChars()+58
#endregion SETTINGS

#region CONTROLS
  $Form    = [Form]@{AutoSize=$true; Font="Tahoma,12"; Size="10,10"; StartPosition="CenterScreen"; Text="Ordner erstellen und Selektion verschieben"; KeyPreview=$true}
  $TLP     = [TableLayoutPanel]@{Dock="fill"; AutoSize=$true}
  $Label   = [Label]@{Text="Ordnername:"; AutoSize=$true; Margin="10,12,0,10"}
  $Textbox = [Textbox]@{Size="400,20"; Dock="fill"; Margin="10,10,10,10"}
  $Button  = [Button]@{Text="erstellen"; Margin="10,10,10,10"; Anchor="Bottom"; Size="100,40"; Enabled=$false}
  $Status  = [Textbox]@{Text=" {0} Objekte selektiert" -f $items.count; AutoSize=$true; Enabled=$false; Dock="fill"}
#endregion CONTROLS

#region EVENTS
  $Form.Add_Load({$this.MaximumSize = "1920,{0}" -f $this.PreferredSize.Height})
  $Form.Add_KeyDown({switch ($_.KeyCode) {"return" {$Button.PerformClick()} "Escape" {$this.Hide()}}})
  $Textbox.Add_KeyPress({if (![char]::isControl($_.KeyChar) -and $_.KeyChar -in $invalid) {$_.Handled = $true}})
  $Textbox.Add_TextChanged({$target=$this.Text.TrimEnd('\ '); $Button.Enabled = $target -and !(Test-Path $target) -and (Test-Path $target -IsValid)})
  $Button.Add_Click({
    $this.TopLevelControl.Hide()
    $nd = md -Force $Textbox.Text.TrimEnd('\ ')
    move -path $items -destination $nd
  })
#endregion EVENTS

#region ADJUST
  Foreach ($c in $Button,$Status){$TLP.SetColumnSpan($c,2)}
  $TLP.Controls.Add($Label,0,0)
  $TLP.Controls.Add($Textbox,1,0)
  $TLP.Controls.Add($Button,0,1)
  $TLP.Controls.Add($Status,0,2)
  $Form.Controls.Add($TLP)
#endregion ADJUST

#region RUN
  [void]$Form.ShowDialog()
#endregion RUN

Das Skript einfach mit der Endung ".ps1" abspeichern und dann einen Programmfavoriten wie folgt erstellen:
  • Programm: powershell
  • StartOrdner: %ActivDir%
  • Parameter: -WindowStyle hidden -NoLogo -EP ByPass -File "C:\Pfad\zum\Skript.ps1" %ActivSel%
    Skriptpfad muss natürlich angepasst werden
Ggfs. noch mit Tastenkombi versehen.

Anschließend kannst du dann Dateien im FreeCommander selektieren und den Programmfavorit starten...
MkdirAndMove.png


Gruß Thomas
 
Zuletzt bearbeitet:
Ich melde mich kurz zum Thema. Als ich noch mit Free Commander arbeitete hatte ich das auch schon mokiert. @fC-Marek meinte dazu dass diese Aktion definitiv nicht zur Verfügung stehe.

Ich bin daraufhin wieder auf meinen alten Dateimanager Speed Commander umgestiegen, der diese Funktion beherrscht wie viele andere Manager auch. Sollte diese Funktion, die für ein tägliches Arbeiten mit einem Datei Commander unverzichtbar ist mit eingearbeitet werden,, könnte ich mich noch einmal für den FC entscheiden.

lg
Hermann
 
Die bestehenden Kopieren/Verschieben Funktionen können das.
Hier ein Beispiel für die Einstellung "Windows nutzen":
- Dateien markieren und F5 drücken
1722670655790.png


- Zielordner "myTest" eintragen und mit OK bestätigen
1722670749164.png


Das funktioniert auch für Verschieben und auch wenn die Option "FreeCommander nutzen" (für Kopieren, Verschieben) aktiv ist.
 
Ich habe jetzt endlich mal wieder ein bisschen Zeit für den Computer gefunden. Leute, ich kann Euch nur raten, niemals in Rente zu gehen, ihr kommt zu gar nichts mehr. :)
Erst Mal ein riesiges Dankeschön für das Script. Aber ich bekomme es nicht installiert.
Was ist %ActivDir%? Der Befehl ist unbekannt. Ich habe selbst den Pfad zu FreeCommander geändert aber dann meckert er, er kennt den Befehl WindowStyle nicht.
 
Sorry für die späte Rückmeldung, war noch im Urlaub.

Erst Mal ein riesiges Dankeschön für das Script.
Gerne, aber wie Marek bereits geschrieben hat, beherrscht die Verschiebefunktion des FreeCommanders diese Funktion ja bereits - damit ist das Skript eigentlich obsolet.

Also Dateien auswählen, F6 drücken (oder über das Menü Datei > Verschieben mit Rückfrage) und dann halt den neuen Ordnernamen ergänzen (siehe Marek's Screenshots oben).

Aber ich bekomme es nicht installiert.
Wie ich oben bereits geschrieben habe, müsstest du das im FreeCommander als Programfavorit hinzufügen (Extras > Programmfavoriten > Programmfavorit definieren), damat das funktioniert...

Programmfavorit.jpg


Was ist %ActivDir%? Der Befehl ist unbekannt.
Das ist eine Variable des FreeCommanders, die den Pfad des derzeit aktiven Fensters wiedergibt.

Gruß Thomas
 
Oben