Dateien suchen und ersetzen

German support forum

Moderators: white, Hacker, Stefan2

bsi
Junior Member
Junior Member
Posts: 3
Joined: 2014-10-28, 07:38 UTC

Dateien suchen und ersetzen

Post by *bsi »

Hallo,

ist es möglich Dateien zu suchen und automatisch durch eine neue zu ersetzen?

Danke für Tipps
User avatar
Dalai
Power Member
Power Member
Posts: 9422
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
bsi
Junior Member
Junior Member
Posts: 3
Joined: 2014-10-28, 07:38 UTC

Post by *bsi »

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.
User avatar
Dalai
Power Member
Power Member
Posts: 9422
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
Stefan2
Power Member
Power Member
Posts: 4173
Joined: 2007-09-13, 22:20 UTC
Location: Europa

PowerShell: Exchange Copy file within sub folders Ersetze

Post by *Stefan2 »

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}
oder etwa

Code: Select all

$new="C:\Work\Release1.1\MyApp.exe"; dir -Recurse -Filter "MyApp.exe"|ForEach{Copy $new $_.FullName -Force -WhatIf}
oder auch

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}
- Schau, ob es funktionieren würde..., wenn ja, entferne "-WhatIf" und führe es noch einmal aus.


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" }   }

 
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Cool wäre natürlich:

1. Suchen nach Programm.exe
2. Anwenden (Ergebnisliste erscheint im Dateipanel)
3. Drag&Drop der neuen Programm.exe in dieses Dateipanel
4. ALLE alten Programm.exe werden mit der neuen Programm.exe überschrieben.

Gruss maat
#101512
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

matixx wrote:Cool wäre natürlich:
Geht doch (bei Namensgleichheit)
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
...

Gruss
Holger
User avatar
Dalai
Power Member
Power Member
Posts: 9422
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

HolgerK wrote:
matixx wrote:Cool wäre natürlich:
Geht doch (bei Namensgleichheit)
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
...
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.

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
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Doch, das sollte genauso wie beschrieben funktionieren.
Nochmal ausprobieren, und dabei nicht die Quelldatei in den angewandten Suchergebnissen markieren ;-)

Gruss
Holger
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

HolgerK: Genial! Danke.
User avatar
Dalai
Power Member
Power Member
Posts: 9422
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Dalai wrote:Ich suche rechts nach dieser Datei, wende das Suchergebnis an, wechsle mit TAB nach links und versuche...

Wo ist mein Fehler?
Datei rechts im Suchergebnis ebenfalls markiert?
HolgerK wrote:Suchen; anwenden; markieren; im anderen Panel die namensgleiche neue Datei markieren...
Gruss
Holger
User avatar
Dalai
Power Member
Power Member
Posts: 9422
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

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.
Das sollte seit 7.56 trotzdem funktionieren:
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)
Liegt es vielleicht daran, das ich bei mir default über den HTM kopiere?
F1 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.
Gruss
Holger
User avatar
Dalai
Power Member
Power Member
Posts: 9422
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

HolgerK wrote:Liegt es vielleicht daran, das ich bei mir default über den HTM kopiere?
Ah, damit funktioniert es: F5 - F2. Mit F5 und nachfolgendem Enter kommt besagte Meldung und der Vorgang wird abgebrochen.

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
Post Reply