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

Suchen und Ersetzen sowie Hochzählen in einer Batch

Frage Entwicklung Batch & Shell

Mitglied: Marhaba

Marhaba (Level 1) - Jetzt verbinden

08.09.2009, aktualisiert 13:44 Uhr, 3742 Aufrufe, 2 Kommentare

Hallo ihr Gurus,
verfolge schon seit einiger Zeit eure wirklich tollen Tipps und habe davon bisher schon ganz gut profitiert. Jetzt komme ich mit einem Problemchen, das euch bestimmt kein großes Kopfzerbrechen macht.

Vorgabe:

Ich habe eine automatisch generierte Textdatei, die diesen Aufbau hat (aber deutlich länger ist):

copy \\000.00.0.0\e$\FTP\ePaper\dialog\="4394152.B.12084538.132625509.jpg" />
copy \\000.00.0.0\e$\FTP\ePaper\dialog\="4394155.B.8771765.132625509.jpg" />
copy \\000.00.0.0\e$\FTP\ePaper\dialog\="4394151.B.12083486.132625509.jpg" />

Daraus soll eine Batch werden, die eine wechselnde Anzahl Bilder von einem Server holt und mit einem aufsteigenden Namen umbenennt (1.jpg, 2.jpg usw.).

Die Zeichen in der Mitte und am Ende kriege ich mit dieser Batch weg (das habe ich in diesem Forum schon gelernt):

@echo off & setlocal
set "Ein=C:\Batches\Workdir\Bildliste.txt"
set "Aus=C:\Batches\Workdir\11-Bilder-holen.bat"
set "D="

for /f "usebackq delims=" %%i in ("%Ein%") do set "Z=%%i" & call :ProcessLine
goto :eof

:ProcessLine
set "Zeile=%Z:~0,39%%D%%Z:~41,33%%D%
>>"%Aus%" echo %Zeile%

goto :eof


Das einstweilige Ergebnis würde so aussehen:

copy \\000.00.0.0\e$\FTP\ePaper\dialog\4394152.B.12084538.132625509.jpg
copy \\000.00.0.0\e$\FTP\ePaper\dialog\4394155.B.8771765.132625509.jpg
copy \\000.00.0.0\e$\FTP\ePaper\dialog\4394151.B.12083486.132625509.jpg


Ich hätte es aber gerne so:

copy \\000.00.0.0\e$\FTP\ePaper\dialog\4394152.B.12084538.132625509.jpg 1.jpg
copy \\000.00.0.0\e$\FTP\ePaper\dialog\4394155.B.8771765.132625509.jpg 2.jpg
copy \\000.00.0.0\e$\FTP\ePaper\dialog\4394151.B.12083486.132625509.jpg 3.jpg
usw.


Fällt jemandem von euch die Lösung ein (ich würde ihn/sie dann bestimmt in mein Nachtgebet einschließen!!!)?

Schöne Gruße an die Runde vom Neuling Marhaba
Mitglied: Snowman25
08.09.2009 um 16:03 Uhr
@echo off & setlocal
set Ein="C:\Batches\Workdir\Bildliste.txt"
set Aus="C:\Batches\Workdir\11-Bilder-holen.bat"
set D="" ""
set /A math=1

for /f "usebackq delims=" %%i in ("%Ein%") do set Z="%%i" & call :ProcessLine
goto :eof

:ProcessLine
set Zeile="%Z:~0,39%%D%%Z:~41,33%%D% %math%.jpg"
>>"%Aus%" echo %Zeile%
set /A math=%math%+1
goto :eof



Probiers mal so...

Schöne Gruße an die Runde vom Neuling Marhaba

Schöne Grüße aus München
Bitte warten ..
Mitglied: Marhaba
09.09.2009 um 07:44 Uhr
Vielen Dank, Snowman25,

hat geklappt. Musste noch ein bisschen was an den Hochkommata umstellen, aber jetzt läuft's.

Wusste doch, dass ich hier an der richtigen Adresse bin.

Grüße

Marhaba
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Suchen ersetzen mit Sonderzeichen (2)

Frage von GNLen1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien aus CSV mit Batch suchen (5)

Frage von joes1609 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit Batch einen Dateityp auf Partition suchen (2)

Frage von M4tze521999 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...