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

Benötige Hilfe mit "move-item" in verbindung mit "-force"

Frage Entwicklung Batch & Shell

Mitglied: Slider-Override

Slider-Override (Level 1) - Jetzt verbinden

29.11.2014, aktualisiert 08.12.2014, 1142 Aufrufe, 4 Kommentare

Ich bin seit tagen ab verzweifeln,

Ich benötige einen simplen befehl um Ordern (welche datein beinhalten zu verschieben)

Da es auf einem WEBDAV Laufwerk passiert kommt keiner kein xcopy oder robocopy in frage, da hier im hintergrund immer kopiert und dann gelöscht wird.

bei einem "move-item" oder normal "move" hingegen wird die datei direkt verschoben.

Hier mein Aktueller Code:
01.
ls "O:\Incomming\"| where{  $_.creationtime -lt (get-date).AddMinutes(-2)}|foreach{move-item $_.fullname "O:\_New\" -force} 
Kurze beschreibung:
listet alle dateien/Ordner in Ordner Incomming auf, wenn Sie älter sind als 2 min, verschiebt er diese in _New.

Das funktioniert soweit auch, bis auf den "-force" befehl. (wenn eine datei oder ein Ordner schon existiert und er soll überschrieben werden
bekomme immer "move-item : Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist."

Ich habe auch schon versucht den "-force wo anders zu platzieren, aber ohne erfolg

Hat jemand eine idee ?
Mitglied: Dani
29.11.2014, aktualisiert um 15:13 Uhr
Moin,
du wirst den Umweg über Copy-Item und Remove-Item gehen müssen. Move-Item lässt kein Überschreiben von bestehenden Verzeichnissen zu. Hingegen bei Dateien bist du mit dem Parameter -Force auf dem richtigen Weg.


Gruß,
Dani
Bitte warten ..
Mitglied: Slider-Override
29.11.2014 um 14:38 Uhr
Hmmm aber mit copy-item wird eine kopie angelegt, das kann ich nicht nutzen den dann würde er via Webdav die Datei neu hochladen mist
Bitte warten ..
Mitglied: colinardo
LÖSUNG 29.11.2014, aktualisiert 08.12.2014
Moin,
ohne die Benutzung von copy-item und nur mit move, etwa so:
01.
$source = 'O:\Incomming' 
02.
$target = 'O:\_New' 
03.
dir $source -recurse | ?{!$_.PSIsContainer -and $_.creationtime -lt (get-date).AddMinutes(-2)} | %{ 
04.
  $newdir =  $_.Directoryname.Replace($source,$target) 
05.
  if(!(Test-Path $newdir)){md $newdir -Force} 
06.
  move-item $_.fullname $newdir -force 
07.
} 
Grüße Uwe
Bitte warten ..
Mitglied: Slider-Override
08.12.2014 um 07:26 Uhr
Hier meine Lösung (harte arbeit in PS):


$SourceFolder = "O:\_FTP_IN"
$DesFolder = "O:\_New"

  1. 1 erstellt Ordner (geht)
Get-ChildItem -Directory -Path $SourceFolder -Recurse | % {New-Item -Path (Join-Path -Path $DesFolder -ChildPath ($_.FullName.Substring($SourceFolder.Length))) -Force -ItemType Directory}

  1. 2 Verschiebt dateien aus unterordner an Ziel-Unterordner (überschreibt auch wenn vorhaden)
cd $SourceFolder

Move-Item -Path (Join-Path -Path $SourceFolder -ChildPath ("\*.*")) -Destination ((Join-Path -Path $DesFolder -ChildPath ("\")) + "\") -Force


Get-ChildItem -Directory -Path $SourceFolder -Recurse | % {
echo ("Moving files to folder: " + $_.FullName)
Move-Item -Path ($_.FullName + "\*.*") -Destination ((Join-Path -Path $DesFolder -ChildPath ($_.FullName.Substring($SourceFolder.Length))) + "\") -Force
}

  1. Löscht Ordner die seit 60 min nicht verändert wurde.
ls $SourceFolder -recurse | where { $_.creationtime -lt (get-date).AddMinutes(-60)} | del -recurse
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

Router & Routing
OpenVpn Verbindung Synology NAS hinter Zywall USG 40 (1)

Frage von Tirgel zum Thema Router & Routing ...

Webbrowser
gelöst Firefox 50 downloads stocken ohne Internet Verbindung (2)

Frage von LordXearo zum Thema Webbrowser ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...