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, 7173 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (16)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Vmware
ESXI Template erstellen (2)

Frage von Phill93 zum Thema Vmware ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...