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

Inhalt von Textdatei an den Anfang von anderer Datei kopieren

Frage Entwicklung Batch & Shell

Mitglied: StefanLausL

StefanLausL (Level 1) - Jetzt verbinden

14.10.2009 um 15:19 Uhr, 5092 Aufrufe, 13 Kommentare

Hallo,

ich habe folgendes Problem.

Ich möchte den Inhalt von "c:\temp\Steuerdatei.txt" an den Anfang aller *.txt Dateien kopieren.
Diese können sich in c:\temp und in allen Unterordnern befinden.

Hat vielleicht jemand ein passendes Skript für mich ?
Mitglied: 60730
14.10.2009 um 15:28 Uhr
Servus,

das wird aber ein heisses Eisen...

denn
"c:\temp\Steuerdatei.txt"
ist ja auch eine *.txt Datei, die sich in c:\temp befindet...

btw: Steuerdatei mit welchem Inhalt?
Und wie oft soll das laufen?

  • einmalig?
  • täglich?

01.
ren c:\temp\Steuerdatei.txt c:\temp\Steuerdatei.org 
02.
for /f %%a in ('dir /s /b c:\temp\*.txt') do copy c:\temp\Steuerdatei.org + "%a" "c:%~pa%~na.neu" 
03.
for /f %%a in ('dir /s /b c:\temp\*.org') do ren %%a "c:%~pa%~na.txt"
Bitte warten ..
Mitglied: StefanLausL
14.10.2009 um 15:59 Uhr
Die Steuerdatei kann auch mit einer anderen Endung benannt sein.

Das Ganze soll einmalig laufen.
Bitte warten ..
Mitglied: 60730
14.10.2009 um 16:03 Uhr
Zitat von StefanLausL:
Die Steuerdatei kann auch mit einer anderen Endung benannt sein.

das hab ich auch einfach mal gemacht

Das Ganze soll einmalig laufen.

...und läufts schon?

btw: "so" muß - sollte eine leere Zeile am Ende von c:\temp\Steuerdatei.txt sein, sonst schreibt er in die gleiche (letzte) Zeile der Steuerdatei die erste Zeile der xyz.txt.

Gruß
Bitte warten ..
Mitglied: StefanLausL
14.10.2009 um 16:11 Uhr
Nee Sorry geht nicht.
Wahrscheinlich stell ich mich wieder zu blöd an.

Ich hab das mal wie folgt angepasst (die Steuerdatei hab ich schon umbenannt):

for /f %%a in ('dir /s /b c:\temp\TestOrdner\*.txt') do copy c:\temp\TestOrdner\Steuerdatei.org + "%a" "c:%~pa%~na.neu"
for /f %%a in ('dir /s /b c:\temp\TestOrdner\*.org') do ren %a "c:%~pa%~na.txt"


Übrigens so war mein erster Versuch der nicht funktioniert hat:

@echo off&setlocal
set Steuerdatei=C:\temp\Steuerdatei
set dir=C:\temp\TestOrdner
set file=*.sql
for /r "%dir%" %%i in ("%file%") do Call :Sub "%%~fi" "%%~ni"
Pause
goto :EOF
:Sub
echo "fdfsfs" >> %1

Anstatt "fdfsfs" soll der Inhalt der Steuerdatei geschrieben werden,
und zwar nicht am Ende sondern am Anfang aller Dateien.
Bitte warten ..
Mitglied: 60730
14.10.2009 um 16:20 Uhr
Servus,

was genau "geht" nicht?

  • werden keine .new angelegt?
  • steht da nicht das drin, was drin stehen sollte?

Bis auf eine fehlende zeile - die die .txt vorm umbenennen löscht - sehe ich keinen "Bock" drin.

Ps: ich hab das bei mir (XP) extra für dich gezimmert - anpassungsarbeiten deinerseits wären eigentlich nicht nötig gewesen - denn bei mir klappert das...

Gruß
Bitte warten ..
Mitglied: bastla
14.10.2009 um 16:22 Uhr
@TimoBeil
Bis auf eine fehlende zeile - die die .txt vorm umbenennen löscht - sehe ich keinen "Bock" drin.
Für einen Batch gibt's aber vergleichsweise wenige Prozentzeichen ...
BTW: Anstelle von "c:%~pa" wäre "%~dpa" (oder "%%~dpa") vielleicht etwas stimmiger ...

Grüße
bastla
Bitte warten ..
Mitglied: ITIL-Harry
14.10.2009 um 16:23 Uhr
Wenn es sich um Textdateien handelt kannst doch den Type-Befehl innerhalb der Schleife verwenden und den in neue Dateien umleiten

Das Schleifenkonstrukt hats ja - nun innerhalb der Schleife:

type Steuerdatei.txt > Tempdatei
type %%a >> Tempdatei
del %%a
ren Tempdatei %%a

Gruß
ITIL-Harry
Bitte warten ..
Mitglied: bastla
14.10.2009 um 16:25 Uhr
... und dann auch gleich noch
01.
del %%a 
02.
ren Tempdatei %%a
zu
01.
move Tempdatei %%a
zusammenfassen.

Grüße
bastla
Bitte warten ..
Mitglied: 60730
14.10.2009 um 17:19 Uhr
Zitat von bastla:
@TimoBeil
Für einen Batch gibt's aber vergleichsweise wenige Prozentzeichen ...

Prozentual gesehen
Ich nehme alles zurück und behaupte - hätt ichs in ner Batch getestet und nicht direkt in das schwarze Fenster geschrieben..
Grüße
bastla

zurück
Bitte warten ..
Mitglied: ITIL-Harry
14.10.2009 um 17:36 Uhr
Die Idee hatte ich auch - aber wenn es die Datei gibt musst das ersetzen bestätigen oder entsprechend parametrisieren
mit MOVE /Y z. B.

Gruß
ITIL-Harry
Bitte warten ..
Mitglied: 60730
14.10.2009 um 17:42 Uhr
Zitat von ITIL-Harry:
Die Idee hatte ich auch - aber wenn es die Datei gibt musst das ersetzen bestätigen oder entsprechend parametrisieren
mit MOVE /Y z. B.

Nöö - auch das ist ein "irrtum" - der einem nur dann passiert, wenn man direkt in der Dosbox werkelt und nicht in einer Batch
Und Bastla traue ich alles zu, aber nicht, dass er - Befehle die in Batchen gebraucht werden - in der Dosbox "testet"

"Das machen nur TiMos"

Gruß
Bitte warten ..
Mitglied: bastla
14.10.2009 um 20:31 Uhr
@TimoBeil
Danke für's Vertrauen ...

@ITIL-Harry
move /? - letzter Satz (gilt übrigens auch für copy)

Grüße
bastla
Bitte warten ..
Mitglied: StefanLausL
15.10.2009 um 08:11 Uhr
Vielen Dank für Eure Hilfe.

Es funktioniert alles wunderbar.

Hier noch mal das komplette Skript:

@echo off&setlocal
set Steuerdatei=C:\temp\TestOrdner\Steuerdatei.org
set dir=C:\temp\TestOrdner
set temp=c:\temp\temp
set file=*.sql
for /r "%dir%" %%i in ("%file%") do Call :Sub "%%~fi"
Pause
goto :EOF
:Sub
type %Steuerdatei% > %temp%
echo. >> %temp%
type %1 >> %temp%
del %1
move %temp% %1
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

VB for Applications
gelöst Mit VBA im Monatskalender Datum suchen - aus anderer Datei einfügen (6)

Frage von Otto1699 zum Thema VB for Applications ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (24)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (16)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (16)

Frage von theoberlin zum Thema Windows Server ...