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

Zählschleife will nicht

Frage Entwicklung Batch & Shell

Mitglied: ooAlbert

ooAlbert (Level 1) - Jetzt verbinden

21.08.2007, aktualisiert 12:09 Uhr, 4438 Aufrufe, 6 Kommentare

hi,

ich hab versucht eine zählschleife zu gestallten nach der hilfeanweisung vom windows-shell, jedoch meckert das programm jedesmal die variable an, das die nicht verarbeitbar wäre...

sinn ist, die letze PDf datei aus einem verzeichnis in eine variable zu pressen und dann das ".pdf" abzuschneiden. Dann soll die zählschleife von einem start wert immer 50 aufzählen bis der endwert erreicht ist.

Jemand eine idee warum die zählschleife nicht geht?
01.
@ECHO OFF 
02.
Setlocal EnableExtensions  
03.
setlocal EnableDelayedExpansion 
04.
 
05.
for %%i in (*.pdf) do ( 
06.
set "datei=%%i" 
07.
08.
IF %datei:~-3,1% EQU p ( 
09.
  		SET "datei=%datei:~-4%" 
10.
11.
 
12.
for /L %j in (82325003, 50, !datei!) do ( 
13.
set "datei2=!datei2!.pdf" >> "123.txt" 
14.
15.
 
16.
pause
Mitglied: TuXHunt3R
21.08.2007 um 10:16 Uhr
So auf den ersten Blick würde ich sagen, dass du die Variable "Datei" nicht korrekt angegeben hast.
Statt:

01.
for /L %j in (82325003, 50, !datei!) do (
01.
for /L %j in (82325003, 50, %datei%) do (
Bitte warten ..
Mitglied: bastla
21.08.2007 um 10:48 Uhr
Hallo ooAlbert!

Wenn Dein Ziel zunächst sein sollte, aus allen pdf-Dateien des Verzeichnisses diejenige mit der höchsten Nummer herauszufiltern und deren Nummer in die Variable %datei% zu schreiben, könntest Du etwa so vorgehen (ich setze voraus, dass alle pdf-Dateien tatsächlich eine Nummer als Namen haben):
01.
for /f %%i in ('dir /b /on *.pdf') do set /a datei=%%~ni
Die Zählschleife könnte dann so aussehen:
01.
for /L %%j in (82325003, 50, %datei%) do echo %%j
Was diese Schleife bewirken soll, ist mir allerdings nicht klar - vielleicht beschreibst Du die eigentliche Zielsetzung einmal etwas genauer ...

Grüße
bastla
Bitte warten ..
Mitglied: ooAlbert
21.08.2007 um 11:56 Uhr
nun das ergebnis soll dann in eine TXT geschrieben werden damit ein anderes script das dann an einen FTP-server vermittelt...

ich hat nämlich das problem, das aus unerklärlichen gründen immer die 50ste datei beim download nicht mitkam und deshalb soll die jetzt nachträglich geladen werden ... Das FTP-Protokoll ist leider etwas beschränkt als das man das hätte direkt über den FTP abgewickelt.
Bitte warten ..
Mitglied: ooAlbert
21.08.2007 um 12:03 Uhr
kann man eigentlioch eine if-anweisung mit logik verknüpfen, so wie: wenn A gleich b und C ungleich d dann anweisung ?
Bitte warten ..
Mitglied: bastla
21.08.2007 um 12:06 Uhr
Hallo ooAlbert!

Dann als Batch am Stück etwa so:
01.
@echo off & setlocal 
02.
for /f %%i in ('dir /b /on *.pdf') do set /a datei=%%~ni 
03.
for /L %%j in (82325003, 50, %datei%) do echo %%j.pdf>>123.txt
Grüße
bastla
Bitte warten ..
Mitglied: bastla
21.08.2007 um 12:09 Uhr
kann man eigentlioch eine if-anweisung mit logik verknüpfen, so wie: wenn A gleich b und C ungleich d dann anweisung ?
Neues Thema?

01.
if "%A%" eq "%b%" if "%C%" neq "%d%" anweisung
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Erkennung und -Abwehr
Innenministerium will bei Cyberangriffen zurückschlagen (5)

Link von magicteddy zum Thema Erkennung und -Abwehr ...

Windows Mobile
Satya Nadella: Microsoft will weiter Smartphones bauen (5)

Link von Frank zum Thema Windows Mobile ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...