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

sehr langen Befehl mit Batchdatei erstellen

Frage Entwicklung Batch & Shell

Mitglied: fremder

fremder (Level 1) - Jetzt verbinden

19.01.2007, aktualisiert 21:41 Uhr, 7206 Aufrufe, 5 Kommentare

Hallo Admins,

ich möchte gerne eine Batch erstellen lassen, in der robocopy eine lange Dateiliste übergeben wird. Dazu habe ich eine Datei, in der alle Dateinamen drin stehen.

01.
a.txt 
02.
b.txt 
03.
c.txt 
04.
...

Mit ^ kann man Zeilenumbrüche umsetzten, wie ich hier im Forum gelesen habe. Mein Versuch dazu ist:

01.
 
02.
@ECHO robocopy.exe %source_dir% %target_dir% /IF^>>%batch_file% 
03.
 
04.
:: Export des Kopierbefehls 
05.
for /f %%k in (%dateiliste%) do ( ECHO %%k^>>%batch_file% ) 
06.
 
07.
@ECHO /E>>%batch_file% 
08.
 
Nur wird das ^ Zeichen nicht mit übergeben. Könnt ihr mit bitte helfen?

Vielen Dank
Manuel
Mitglied: Phlegma
19.01.2007 um 19:36 Uhr
hi,
das zeichen ^wird zum maskieren von & verwendet dabei wird dann
statt dass & ausgeführt wird (verknüpfung von befehlen)
& bei echo blabla ^& >bla.txt ein blabla & in die txt datei geschrieben.
hört sich komisch an.. sorry ich kanns net besser formulieren
also ich dneke du musst ^^ machen damit ^ weitergegeben wird
habe das aber nicht selbst getestet....

hth, Ph
Bitte warten ..
Mitglied: Biber
19.01.2007 um 19:55 Uhr
Moin Fremder,

ich denke, da solltest Du nicht zu viel Aufwand in diese Strategie stecken.

Du kannst den /IF-Befehl ja ohnehin nur verwenden, wenn der in einer *.RSJ (Robocopy-JOB-Datei) steht.

Und Du kannst /solltest diese Datei mit "Robocopy [grobe Parameter...] /Save:meinJob" anlegen.

Dann, wenn dieses Skelett steht, kannst Du entweder, wie vom sympathischen Weltmarktführer vorgeschlagen,
  • diese pure Textdatei mit einem Editor ergänzen/verfeinern
  • oder dieses Template in einem Batch zeilenweise mit "ECHO ....>>NeuerJob.RSJ" selbst erzeugen (mit Deinen /IFs, eine je Zeile)
  • oder aus der Vorlage 2 Teile schneiden (MeinJob.Part1 und MeinJob.part2), und zwar da, wo Deine Sonderfälle hinein sollen.
Dann im Batch mit der FOR /F Anweisung wie oben Deine geECHOte Dateiliste an MeinJob.Part1 anfügen und am Ende ein "type MeinJob.Part2>>MeinJob.Part2" oder ein "Copy Meinjob.part1+MeinJob.Part2" machen.

Künstliche Zeilenumbrüche bekommst Du eher nicht transportiert und eine Möglichkeit der Unterdrückung des Zeilenumbruchs beim ECHO-Befehl ist mir nicht geläufig.

Allerdings, wenn es Dich reizt: es gibt "aufgebohrte" ECHO-Tools als Freeware, sowohl in Bunt (XECHO.exe)
wie auch ein Tool, das sich ECHON.exe (oder .com?) nennt.
Das kann ein ECHO-ohne-Zeilenumbruch.
Habe leider keine Quellenangabe, aber eine Suchmaschine sollte das finden.

HTH
Biber
Bitte warten ..
Mitglied: bastla
19.01.2007 um 20:24 Uhr
Hallo Manuel!

... und es gibt primitive Scripts, wie etwa:
01.
'MakeLine.vbs 
02.
If WScript.Arguments.Count = 0 Then 
03.
	WScript.Echo "Aufruf mit: " & WScript.ScriptName & " ""Liste.txt""" 
04.
	WScript.Quit(1) 
05.
End If 
06.
Set fso=WScript.CreateObject("Scripting.FileSystemObject") 
07.
Set oFileList = fso.OpenTextFile(WScript.Arguments(0),1) 
08.
sTemp = "" 
09.
Do While Not oFileList.AtEndOfStream 
10.
    sTemp = sTemp & oFileList.ReadLine & " " 
11.
Loop 
12.
oFileList.Close 
13.
WScript.Echo Trim(sTemp)
Nicht weil's Sinn ergäbe (siehe Biber's Ausführungen), sondern nur als Proof-Of-Concept:
01.
for /f "delims=" %%k in ('CScript //nologo MakeLine.vbs "%dateiliste%"') do ( 
02.
    echo robocopy.exe %source_dir% %target_dir% /IF %%k /E >%batch_file% 
03.
)
Grüße
bastla
Bitte warten ..
Mitglied: fremder
19.01.2007 um 20:24 Uhr
Hallo Biber,

danke, ich werde mich wohl für Nummer 3 entscheiden. Aber heute bin ich leider schon etwas zu müde zum Austesten.

Vielen Dank.

Manuel
Bitte warten ..
Mitglied: bastla
19.01.2007 um 21:41 Uhr
... und doch noch etwas Ernsthaftes: SEND ist zB eines dieser "ECHO"-Ersatz-Tools.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows 10
Fenster Mini- Maximieren per Batch-Befehl (2)

Frage von knitti zum Thema Windows 10 ...

E-Mail
Live.de Email erstellen (2)

Frage von themast zum Thema E-Mail ...

Batch & Shell
gelöst Erstellen von Verknüpfungen mithilfe einer Variablen (3)

Frage von ciNNEx zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

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

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...