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, 5072 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
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 ...

C und C++
gelöst In einer Windows Form Anwendung per Button eine Datei kopieren (4)

Frage von Knuefi zum Thema C und C ...

Batch & Shell
gelöst Powershell Datei kopieren mit ACL Script funktioniert nicht (4)

Frage von xpxy15 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...