Dateien suchen und ersetzen
Moderators: white, Hacker, Stefan2
Dateien suchen und ersetzen
Hallo,
ist es möglich Dateien zu suchen und automatisch durch eine neue zu ersetzen?
Danke für Tipps
ist es möglich Dateien zu suchen und automatisch durch eine neue zu ersetzen?
Danke für Tipps
Kannst du das mal konkreter erläuter, ggf. anhand eines Beispiels? In deine allgemein gehaltene Frage kann man nämlich ziemlich viel hineininterpretieren.
MfG Dalai
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ich frag mal anders: Soll die Programm.exe immer (inhaltlich) identisch sein? Liegen die innerhalb derselben Partition? Dann bieten sich Hardlinks an, die man mit NTFSLinks erstellen kann.
MfG Dalai
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
PowerShell: Exchange Copy file within sub folders Ersetze
bsi wrote:Ich möchte eine Datei, die in mehreren Unterordnern enthalten ist automatisch durch eine neue Version ersetzen.
Beispiel:
Programm.exe mit Dateiversion 1.0 soll in allen Unterverzeichnissen durch Programm.exe mit Dateiversion 1.1 ersetzt werden.
Zum Beispiel mit einer Skriptsprache wie PowerShell:
VON:
C:\Temp\Hauptordner\
C:\Temp\Hauptordner\NeueOld.exe 1.1
C:\Temp\Hauptordner\Sub Folder1\Old.exe 1.0
C:\Temp\Hauptordner\SubFolder 2\Old.exe 1.0
C:\Temp\Hauptordner\SubFolder 2\Unterordner 3\Old.exe 1.0
ZU:
C:\Temp\Hauptordner\
C:\Temp\Hauptordner\NeueOld.exe 1.1
C:\Temp\Hauptordner\Sub Folder1\Old.exe 1.1
C:\Temp\Hauptordner\SubFolder 2\Old.exe 1.1
C:\Temp\Hauptordner\SubFolder 2\Unterordner 3\Old.exe 1.1
Ausführung:
- Erstelle ein Backup deiner Daten
- Teste dies erst mal mit wenigen Testdateien
- Öffne eine PowerShell Konsole
- Navigiere zu "C:\Temp\Hauptordner"
- Tippe ein:
Code: Select all
$new="$PWD\NeueOld.exe"; dir -Recurse -Filter "Old.exe"|ForEach{Copy $new $_.FullName -Force -WhatIf}
Code: Select all
$new="C:\Work\Release1.1\MyApp.exe"; dir -Recurse -Filter "MyApp.exe"|ForEach{Copy $new $_.FullName -Force -WhatIf}
Code: Select all
$new="C:\Work\Release1.1\MyApp.exe"; dir E:\Test\Release\Last -Recurse -Filter "MyApp.exe"|ForEach{Copy $new $_.FullName -Force -WhatIf}
So in etwa sollte es gehen.
Wenn du dich ein bisschen mit PoSh befasst, kannst du das auch noch ausbauen.
Mittels DIR MyApp.exe | Get-Member bekommt man alle Eigenschaften dieses Objekts angezeigt.
Und so kann man zB sehen, dass man mittels
DIR MyApp.exe | ForEach{ ($_.VersionInfo).FileVersion }
auch nur bestimmte alte Versionen ersetzen könnte, etwas nur die 0.9er Version.
Etwa (ungetestet):
xxxxx | ForEach{ if( ($_.VersionInfo).FileVersion -eq 0.9 ){Copy $new $_.FullName -Force } else { "$_.FullName skipped" } }
Nope. Soweit wie angegeben kommt man, aber beim Ausführen des Kopiervorgangs sagt TC (völlig themenfremd) "Sie können nicht eine Datei auf sich selbst kopieren!". Ist andererseits klar, dass TC diese Meldung bringt, denn ich sehe gerade, dass im Kopieren-Dialog nur der Dateiname drinsteht, keinerlei Pfad.HolgerK wrote:Geht doch (bei Namensgleichheit)matixx wrote:Cool wäre natürlich:
Suchen; anwenden; markieren; im anderen Panel die namensgleiche neue Datei markieren; und dann mit:
<F5>
[Optionen]
[x] Kopiere in alle markierten Ordner/Verknüpfungen im Zielfenster
...
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Offenbar stelle ich mich zu doof an, aber ich bekomme es nicht hin. Gegeben: Rechts ein lokales Verzeichnis mit vielen Dateien, unter anderem abcAVI.ini. Links dieselbe Verzeichnisstruktur auf einem Netzlaufwerk, hier ebenfalls mit abcAVI.ini.
Ich suche rechts nach dieser Datei, wende das Suchergebnis an, wechsle mit TAB nach links und versuche, die abcAVI.ini nach rechts zu kopieren: Ergebnis wie oben von mir angegeben. Beim Versuch, eine Datei in ein Suchergebnis zu kopieren, schreibt TC immer nur den Dateinamen in den Kopierendialog.
Zugegeben, die Datei existiert nur einmal in der Verzeichnisstruktur, aber das sollte doch keine Rolle spielen. Wo ist mein Fehler?
MfG Dalai
Ich suche rechts nach dieser Datei, wende das Suchergebnis an, wechsle mit TAB nach links und versuche, die abcAVI.ini nach rechts zu kopieren: Ergebnis wie oben von mir angegeben. Beim Versuch, eine Datei in ein Suchergebnis zu kopieren, schreibt TC immer nur den Dateinamen in den Kopierendialog.
Zugegeben, die Datei existiert nur einmal in der Verzeichnisstruktur, aber das sollte doch keine Rolle spielen. Wo ist mein Fehler?
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Datei rechts im Suchergebnis ebenfalls markiert?Dalai wrote:Ich suche rechts nach dieser Datei, wende das Suchergebnis an, wechsle mit TAB nach links und versuche...
Wo ist mein Fehler?
GrussHolgerK wrote:Suchen; anwenden; markieren; im anderen Panel die namensgleiche neue Datei markieren...
Holger
Die Markierung der Datei im Suchergebnis spielt zwar für den Haken "Kopiere in alle ..." eine Rolle, aber für das Ergebnis nicht. TC schreibt in beiden Fällen nur den Dateinamen in den Kopierendialog, was zu o.g. Meldung führt.
Der Punkt ist ja auch, dass der Haken von Verzeichnissen und Verknüpfungen spricht, nicht von Dateien, die hier ja gesucht und markiert werden.
MfG Dalai
Der Punkt ist ja auch, dass der Haken von Verzeichnissen und Verknüpfungen spricht, nicht von Dateien, die hier ja gesucht und markiert werden.
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Das sollte seit 7.56 trotzdem funktionieren:Dalai wrote:Der Punkt ist ja auch, dass der Haken von Verzeichnissen und Verknüpfungen spricht, nicht von Dateien, die hier ja gesucht und markiert werden.
Liegt es vielleicht daran, das ich bei mir default über den HTM kopiere?History.txt wrote:29.10.10 Added: F5 copy, option "Copy to all selected folders/links": When normal files are selected, copy to the directories of these files after search - feed to listbox (only if there is no target dir)
GrussF1 wrote:Wenn Sie mehrere Verzeichnisse und/oder Links im Zielfenster markieren, erscheint eine zusätzliche Option zum Kopieren in ALLE diese Verzeichnisse. Dies passiert über den Hintergrund-Transfermanager. Falls Sie normale Dateien im Zielfenster markieren, z.B. nach Suchen - Anwenden, wird in die Verzeichnisse dieser Dateien kopiert.
Holger
Ah, damit funktioniert es: F5 - F2. Mit F5 und nachfolgendem Enter kommt besagte Meldung und der Vorgang wird abgebrochen.HolgerK wrote:Liegt es vielleicht daran, das ich bei mir default über den HTM kopiere?
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror