Batch Datei zum Ermitteln und kopieren

Roland81

New member
1 November 2017
2
0
Bin vor einen kleinen Rätsel...

Ich möchte mir eine Batchdatei bauen um in diversen Unterverzeichnissen nach einer Datei (abc.txt) zu suchen. In den Verzeichnissen wo diese Datei vorhanden ist, soll aus einen anderen Verzeichnis eine andere, Datei mit den gleichen Dateinamen, sowie 3 weitere Dateien kopiert werden. Ohne Frage nach Überschreiben.

Denke mit "FIND" und "COPY" währe das möglich, aber wie?

Kann mir da jemand helfen?
 
Geeignete Funktion basteln:

function mycp {
read path
while [ "x$path" != "x" ]
do
export dir=`dirname "$path"`
echo "$dir"
cp -fp datei1 datei2 datei3 abc.txt "$dir/"
read path
done
}


Nach abc.txt suchen und mycp mit den gefundenen Exemplaren füttern:

find . -type f -name abc.txt | mycp
 
Danke für Deine schnelle Antwort!

Sind dies Commandos für Linux?

Leider verwende ich Windows als Betriebssystem, gibt es dort ähnliche Befehle?
 
Musst es Batch sein, ...

Eigentlich nicht. Hätte auch anders heißen können, aber die Computerleute haben sich schon in der EDV-Steinzeit auf diese Bezeichnung geeinigt. :mrgreen:

...oder geht auch Powershell? ...

Es besteht Grund zu der Annahme daß die Powershell das auch kann (Quelle: MS-Marketingabteilung). Es besteht aber auch Grund zu der Annahme daß sie es eben doch nicht "so richtig" (*) kann (Quelle: Eigene Erfahung). Aber man soll die Hoffnung ja nicht vorschnell aufgeben.

(*) Groß-/Kleinschreibung, Umlaute (insbesonderere in Dateinamen), Wort- oder Zeilentrennung, reguläre Ausdrücke etc.