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

Powershell: vor dem ersetzen von Dateien, alte und neue Datei sichern

Frage Entwicklung Batch & Shell

Mitglied: Memo66

Memo66 (Level 1) - Jetzt verbinden

30.01.2015, aktualisiert 03.02.2015, 801 Aufrufe, 5 Kommentare

Hallo zusammen,

ich versuche im Moment folgendes umzusetzen aber komme gerade nicht weiter:

Ich habe ein Verzeichnis drei Verzeichnisse

A: finales Verzeichnis
B: Übergabeverzeichnis
C: Backup Verzeichnis


Wie oben beschrieben, habe ich in A meine finalen Dateien. Ich möchte nun, neue Dateien in B reinlegen und diese in A verschieben und auch ersetzen. Das klappt wunderbar mit
get-childitem -path -include | move-item -destination -force

Die Dateien in B zu sichern ist auch kein Problem. Ich lese Sie mit get-childitem in eine Variable und benutze diese dann in dem zip Befehl.

Wo ich jetzt nicht mehr weiterkomme:

Ich würde gerne die Dateien, die ersetzt werden, auch in dem zip oben mitsichern. Um sehen zu können, was ich ich durch was ersetzt habe.

Ich müsste ja jetzt:
1.das Verzeichnis B auslesen (mache ich ja eigentlich oben bereits)
2.prüfen ob die Dateien bereits in A existieren; wenn ja zippen
3.die Dateien in B in dasselbe zip (unterschiedliche Verzeichnisse) hinzufügen
4.Dateien verschieben.

Nur klappt das Prüfen der Dateien unter Punkt 2 nicht, wenn ich die Dateien in Punkt 1 mit get-childitem auslese. Wie muss ich diese auslesen, damit eine Prüfung stattfinden kann?


Grüße
Memo

Mitglied: 114757
30.01.2015 um 10:55 Uhr
Moin,
beide Verzeichnisse in jeweils eine Variable einlesen und dann mit compare-object miteinander vergleichen (mit den Parametern [-ExcludeDifferent] [-IncludeEqual]). Das Ergebnis kannst du dann zippen, feddich.

Gruß jodel32
Bitte warten ..
Mitglied: Memo66
30.01.2015, aktualisiert um 16:07 Uhr
Hi,

ich habe B folgende Dateien:
1.txt
2.txt

in A:
1.txt
97.txt
98.txt
99.txt

Die Datei 1.txt in B habe ich geändert. Sie hat einen anderen Inhalt und ein anderes Änderungsdatum.
Aus A hätte ich jetzt gerne die Datei 1.txt. Es sind aber alle mit dem SideIndicator => versehen

Ich bekomme folgendes Ergebnis:

Name | LastWriteTime | SideIndicator
| ------------- -------------
1.txt | 30.01.2015 15:46:17 | =>
97.txt | 30.01.2015 16:01:37 | =>
98.txt | 30.01.2015 16:01:37 | =>
99.txt | 30.01.2015 16:01:37 | =>
1.txt | 30.01.2015 15:47:21 | <=
2.txt | 30.01.2015 15:46:05 | <=
Bitte warten ..
Mitglied: 114757
LÖSUNG 30.01.2015, aktualisiert 03.02.2015
bei mir nicht:
01.
$A = gci 'c:\OrdnerA' | select -ExpandProperty Name 
02.
$B = gci 'c:\OrdnerB' | select -ExpandProperty Name 
03.
compare $A $B -ExcludeDifferent -IncludeEqual -Passthru
ergibt:
                                                                        
-a---        30.01.2015     17:41          7 1.txt 
Gruß jodel32
Bitte warten ..
Mitglied: Memo66
03.02.2015 um 16:16 Uhr
klappt wunderbar.
Merci
Bitte warten ..
Mitglied: 114757
03.02.2015 um 22:06 Uhr
Dann noch als gelöst markieren.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst PowerShell: Spalten tauschen und neue Spalten in CSV datei erzeugen (17)

Frage von Rippchen zum Thema Batch & Shell ...

Batch & Shell
Bash Script soll neue Datei erzeugen (2)

Frage von SpeakerST zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell oder Batch-Task: Kopiere Datei x mal und benenne diese um (2)

Frage von Lorderich zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Backup
Datensicherung ARCHIV (11)

Frage von fautec56 zum Thema Backup ...