Top-Themen

Aktuelle Themen (A bis Z)

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

SET funktioniert in FOR Schleife nicht

Frage Entwicklung Batch & Shell

Mitglied: quba

quba (Level 1) - Jetzt verbinden

26.08.2010 um 15:31 Uhr, 3033 Aufrufe, 6 Kommentare

Hallo zusammen,

ich ich glaube ich stehe auf dem Schlauch
Folgendes:
Ich versuche aus einem Ordner die Datei die dort steht mit einer FOR /F auszulesen und in eine
Variable zu schreiben um diese (Dateiname) danach weiter zu verwenden:

for /f "delims=" %%i in ('dir /b %workpath%') DO @SET pdf=%%i

Mit echo %pdf% kann ich mir anschauen, dass der Dateiname der Variable korrekt zugewiesen wurde.

Führe ich die Batch aus funktioniert alles.

Rufe ich die Batch über die Geplanten Tasks auf funktioniert es nicht.
Der Variable wird kein Wert zugewiesen.

Hat jemand eine Idee?

Danke und Gruß
quba
Mitglied: Biber
26.08.2010 um 15:36 Uhr
Moin Quba,

gib doch mal in der Zeile VOR dem FOR-Geraffel einfach ein:
@echo Batch-durchnudelnder Benutzer: [%username%] und dessen Variable Workdir [%workdir%]
Ab dem Punkt dann stehe ich für verbleibende Fragen zur Verfügung.

Grüße
Biber
Bitte warten ..
Mitglied: quba
26.08.2010 um 15:49 Uhr
Tach auch,

da es in einer neuen Datei, in der nur diese eine Zeile steht funktioniert,
habe ich ein wenig getestet.

Was ich nicht erwähnt habe: Die FOR Schleife ist in einer IF EXIST Schleife
Eigentlich dachte ich dies macht nichts aus, aber wenn ich die FOR außerhalb der IF
laufen lasse, dann tut alles. Innerhalb der IF tut es nicht.
Zumindest nicht über geplante Tasks, wenn ich von Hand aufrufe, dann gehts auch.

Ich versteh das nicht.....

grüße
quba
Bitte warten ..
Mitglied: 60730
26.08.2010 um 16:05 Uhr
Moin,

naja wenn das was nicht exististiert auch nicht existiert, dann findet der if exist auch keinen Grund dich ins innere zu lotsen.

Ich versteh das nicht.....
Ich auch nicht - du willst doch Hilfe, warum dann so schüchtern mit deiner Batch?

Gruß
Bitte warten ..
Mitglied: quba
26.08.2010 um 16:19 Uhr
Doch in die IF Exist springt er rein.

Hier mal ein Auszug mit dem ich Probleme hab


if exist "%workpath%\*.pdf" (
for /f "delims=" %%i in ('dir /b %workpath%') DO @SET pdf=%%i
@echo %pdf% > c:\log.txt
)

Wie erwähnt %pdf% hat keinen Wert zugewiesen.
In der log.txt müsste dann der Dateiname stehen, aber ich sehe nur "ECHO ON" da
ja die Variable wohl leer ist...

LG
Bitte warten ..
Mitglied: Biber
26.08.2010 um 16:47 Uhr
Moin quba,

gestern in einer Frage von jonny83 hatten wir Ähnliches.

Kurzfassung:
  • Vom Wort "IF" bis zum letzten "RundeKlammerZu" ist es EINE Befehlszeile
  • In EINER Befehlszeile werden alle %Variablen% EINMAL aufgelöst ...vor Beginn des erstens Zeichens der Befehlszeile.
  • Abhilfe siehe im Beitrag von jonny83

--> oder aber in Deinem Fall:
Verlege das @echo %pdf% etwas tiefer auf die Zeile NACH der "RundeKlammerZu"-Zeile.

Grüße
Biber
Bitte warten ..
Mitglied: quba
26.08.2010 um 17:04 Uhr
Hey Biber,

man lernt nie aus...
Danke dir der Beitrag bzw. dein Kommentar bei jonny83 hat mir wirklich sehr weiter geholfen.
Des Rätsels Lösung Setlocal EnableDelayedExpansion und die Variable mit !pdf!

Einfach genial!

Danke und einen schönen Tag

quba
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Verwendung von "set" in For-Schleife funktioniert nicht
gelöst Frage von rkrausbyBatch & Shell2 Kommentare

Hallo zusammen. Ich habe ein kleines Problem beim erstellen einer Abfrage. Das Hauptproblem liegt darin dass ich innerhalb einer ...

Batch & Shell
Set-Befehl funktioniert nicht
gelöst Frage von DschingisBatch & Shell7 Kommentare

Hallo zusammen, ich bin geraden dabei ein Programm zu erweitern. Dieses Programm soll das Feld "MobilePhone" im AD füllen. ...

Batch & Shell
Powershell If-Schleife funktioniert nicht
gelöst Frage von windelterroristBatch & Shell5 Kommentare

Hallo Admins Arbeite gerade an einem kleinen Script funktioniert aber nicht so, wie ich mir das vorstelle Mein Code: ...

Batch & Shell
Set-ADUser - Füllen des Felds "Location" funktioniert nicht
gelöst Frage von Alex94GBatch & Shell2 Kommentare

Hallo Admins, die Überschrift sagt eigentlich schon alles. Ich habe ein Script gebastelt, das eine CSV-Datei zeilenweise durchgeht und ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 15 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 19 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...