Top-Themen

Aktuelle Themen (A bis Z)

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

Files durch eine Batch ersetzen

Frage Entwicklung Batch & Shell

Mitglied: ReBeLL09

ReBeLL09 (Level 1) - Jetzt verbinden

03.06.2009, aktualisiert 03:27 Uhr, 3541 Aufrufe, 7 Kommentare

Grundlage:

Ich habe einen Ordner in den sich mehrer unterordner befinden.
In jedem dieser Ordner befindet sich eine datei.
Diese ist in jedem Ordner identisch und trägt auch den gleichen Namen.

Vorhaben:
Nun muss diese eine Datei neu bearbeitet werden.
Ich habe sie also (temporär) auf dem Desktop gespeichert und entsprechend editiert.
(Leider) müssen alle anderen Datein auch aktualisiert werden.
Die Möglichkeit alle Manuell zu kopieren wäre eine Altanative, aber sehr mühselig, da es sich um wirklich einige Unterordner handelt (ü100).

Nun meine Idee:

Ich würde gern eine Batch schreiben, die den Inhalt des Ordners ausliest (auch der Unterordner da es dort auch wieder Unterordner gibt)
und in jeden Ordner die modifizierte Datei kopiert und die alte dementsprechend ersetz.

Der Befehl zum kopieren ist ja "xcopy".

Nun die Frage:

Geht dieses auslesen und kann ich den xcopy-befehl so schreiben, das er die Datei auch in die Unterordner kopiert und ersetz?


Info:

Damit keine fehler durch Pfade entstehen können, habe ich mir eine Speicherung auf meiner Festplatte angelegt.
Die Datei befindet sich nun auf "C:\"
Der Order mit den Unterordnern befindet sich auch auf "C:\"
Ich habe ihn mal Batch gennant ;).

So muss also die Datei von "C:\" in den Ordner und alle Unterordner von "C:\Batch\" kopiert werden.

Hoffe mir kann jemand helfen und vielen Dank schonmal im vorraus.
Mitglied: mexx
03.06.2009 um 06:11 Uhr
Ich empfehle Dir dringend, Dich von den Gedanken das mit Batch zu machen zu entfernen. Die Zukunft der Windows Commando Ebene heißt Powershell. Per Powershell wären das vielleicht max. 10 Zeilen.

1. Rekursive Suche aller Dateien und/oder Unterordner (ein Befehl)
2. Per For-Schleife alle Dateien in den gefundenen Ordnern und Unterordnern ersetzten

Okay, sind 5 Zeilen. Wenn Du Powershell einsetzten willst, helfe ich Dir gerne beim coden.
Bitte warten ..
Mitglied: Biber
03.06.2009 um 09:22 Uhr
Moin ReBeLL09,

willkommen im Forum.
Bei allem Verständnis für pubertäre ReBeLLion:
Wir reden uns hier im Forum mit "Hallo", "Moin" oder "Tach" an und nicht mit "Grundlage".
Und auf "vielen Dank schonmal im vorraus" verzichten wir gerne zugunsten einer Rückmeldung "Hat geklappt" bzw. "hat nichts gebracht".

Zurück zu Deiner Frage.
Wie mexx schon bemerkte, ist die Lösung dieser Aufgabe mit CMD-Mitteln etwas behäbiger und uneleganter.
Deshalb auch nur eine kurze Skizze der Vollständigkeit halber (aus Nostalgiegründen sozusagen)

Dei folgendem Testszenario (Datei Test37.txt ist in einigen von vielen Unterverzeichnissen unterhalb D:\Temp und die "neue" Datei "test37.txt ist auf meinem Desktop)
01.
dir test37.* /b /s 
02.
:\temp\test37.txt 
03.
:\temp\templogs\test37.txt 
04.
:\temp\test\test37.txt 
05.
:\temp\test22\test37.txt 
06.
:\temp\testheute\test37.txt
.... macht das gewünschte folgende Zeile am CMD-Prompt:
01.
for /r "d:\temp" %i in (test37.txt) do @if exist "%i" copy "%userprofile%\desktop\test37.txt" "%~fi"
Falls in ALLEN Unterverzeicnissen diese Datei platziert werden soll (auch wenn noch keine vorher existierte), dann das "If exist "%i" einsparen.

Grüße
Biber
Bitte warten ..
Mitglied: LotPings
03.06.2009 um 10:04 Uhr
Zitat von Biber:
Zurück zu Deiner Frage.
Wie mexx schon bemerkte, ist die Lösung dieser Aufgabe mit CMD-Mitteln etwas behäbiger und uneleganter.

Sorry,
da kann ich nicht folgen,

für genau diesen Fall gibts es schon seit Urzeiten den Befehl Replace,
und bevor ich einen Fünfzeiler in einer objektorientierten Scriptsprache schreibe,
nehme ich doch lieber einen einzigen Befehl.

Es gibt mit Sicherheit Felder in denen PowerShell glänzen kann - hier nicht.

Replace C:\Datei C:\Batch\ /S

Gruß
LotPings
Bitte warten ..
Mitglied: ReBeLL09
04.06.2009 um 13:27 Uhr
Zitat von LotPings:

Replace C:\Datei C:\Batch\ /S

Gruß
LotPings

kann ich mit diesem Befehl die Datei in alle Unterordner kopieren?
würde das gern erst wissen ;)

@ Biber
sry wollte nicht protzig oder so wirken ;)
kenne nur von anderen Forums, das wenn man es so gegliedert schreibt, die verständniss besser ist ;)

Zugegeben, das Hallo, Moin, Tach, Sers, Aloa oder wie auch immer, habe ich irgendwie verschluckt ;) *schande auf mein haupt*
Bitte warten ..
Mitglied: LotPings
04.06.2009 um 14:08 Uhr
Hallo Rebell09,
(so heisst übrigens auch das Computer-Gehäuse meines Sohnes)
ich hasse diese "Sichergeher"

Du hast zwei Möglichkeiten, entweder du glaubst mir, (ob nun beim ersten oder zweiten Mal)
oder du probierst/prüfst es nach, ggfs. mit Testdaten.

Die Hilfe des Befehls steht jedem offen, einfach in einem CMD Fenster

Replace /?

eingeben.

Gruß
LotPings
Bitte warten ..
Mitglied: Biber
04.06.2009 um 19:45 Uhr
Moin ReBeLL09,

*schande auf mein haupt*
Okay, kannst Du wieder abwaschen...

Grundsätzlich hat der Lord natürlich Recht mit den zwei Möglichkeiten, aber weil es hier wirklich unterschiedliche Ergebnisse gibt...

  • die erste meiner FOR/R-Varianten (die mit "IF EXIST") würde 5 Dateien finden und übernageln
  • die zweite Variante ohne IF EXIST würde in knapp 70 Unterverzeichnissen unterhalb des Startverzeichnisses d:\temp eine Kopie abladen
  • Lords Weg mit Replace.exe ersetzt maximal die 5 schon vorhandenen Dateien (optional davon nur die, die älter sind als die neue)
01.
>replace "%userprofile%\desktop\test37.txt" D:\temp /s 
02.
Ersetzen von D:\temp\test37.txt 
03.
Ersetzen von D:\temp\templogs\test37.txt 
04.
Ersetzen von D:\temp\test\test37.txt 
05.
Ersetzen von D:\temp\test22\test37.txt 
06.
Ersetzen von D:\temp\testheute\test37.txt 
07.
5 Datei(en) ersetzt
---> aber Replace.exe bietet keine Möglichkeit, in ALLE Unterverzeichnisse (egal ob Datei vorhanden oder nicht) eine Kopie zu senden.

Wenn die Frage dann hinreichend beantwortet ist Deiner Meinung nach, bitte auf "erledigt" setzen.

Grüße
Biber

P.S. @LotPings
(so heisst übrigens auch das Computer-Gehäuse meines Sohnes)
Dein Sohn gibt seinem Computer Namen??? Na ja...
Meine Töchter haben ihren Plüschtierchen auch Namen gegeben, aber eher sowas wie Fluffi oder Lisa...
Aber ReBeLL09 ist auch eine hübsche Idee...
Bitte warten ..
Mitglied: LotPings
04.06.2009 um 19:58 Uhr
Zitat von Biber:
P.S. @LotPings
> (so heisst übrigens auch das Computer-Gehäuse meines Sohnes)
Dein Sohn gibt seinem Computer Namen??? Na ja...
Nö, das hieß auch vorher schon so.
Rebel

Meine Töchter haben ihren Plüschtierchen auch Namen gegeben, aber eher sowas wie Fluffi oder Lisa...
Aber ReBeLL09 ist auch eine hübsche Idee...

Haha O
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Archivierung und löschen von Files
Frage von PeronasBatch & Shell1 Kommentar

Hallo zusammen, ich habe mal eine Frage zu einem Batch-File welches ich zum archivieren von Files benötige. Und zwar ...

Batch & Shell
Batch File zum Auslesen einer Datei
gelöst Frage von Marcel1989Batch & Shell9 Kommentare

Hallo, Ich scheibe momentan ein Anmeldescript als batch mit dem Aufruf von VBS dateien. Hierfür haben wir bereits gruppen ...

Batch & Shell
Authentifizierung in einem Batch File
gelöst Frage von fiffi1Batch & Shell7 Kommentare

Hallo miteinander, Ich möchte ein script schreiben, das mir alle Netzlaufwerke automatisch einbindet. Ich setzte mich also daran und ...

Windows Netzwerk
Batch File Reboot wenn Offline
gelöst Frage von freenodeWindows Netzwerk9 Kommentare

Hallo Kollegen, ich möchte gerne, dass ein Windows 7 Rechner jede Stunde automatisch schaut, ob er noch im Internet ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 19 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 23 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 5 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Windows 10
Probleme mit Dateien, deren Pfad + Dateiname länger als 256 Zeichen sind
Frage von FalaffelWindows 109 Kommentare

Guten Tag, unter Windows 10 scheint es immer noch das Problem zu geben, dass der Pfad + Dateiname einer ...