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 For Schleife mit Variable setzen und Wert kürzen

Mitglied: presidente

presidente (Level 1) - Jetzt verbinden

19.03.2013 um 09:28 Uhr, 2188 Aufrufe, 5 Kommentare

Hallo, ich bin neu hier und hoffe ich bin im richtigen Forum gelandet.


Muss eine Ordnerstruktur auslesen und die Dateinamen für ein SQL-Skript kürzen, dieses wird dann aufgerufen
und dort wird die metaid verwendet.



Vorhanden sind z.B. solche Dateien:

00001999_00001957.data
00001999_00001958.data
00001999_00001959.data
...

Immer in der gleichen Länge


Die metaid soll jeweils so gesetzt werden:

metaid=

00001957
00001958
00001959
...

Die Routine funktioniert leider nicht so, ist die Syntax falsch ? Mit Sub-Routinen (call :sub1) kann ich nicht arbeiten, weil vorher schon
eine for Schleife läuft und somit funktioniert :EOF nicht oder gibt evtl :EOF1 ???

for /F "delims=" %%b in ('dir /b d:\Files\00001000\*.data') do set metaid=%%b:~9,8%

:~9,8%

ab der 9. Stelle anfangen und nur 8 Stellen nehmen.

Hat jemand eine Idee ?



Veilen Dank

Stefan
Mitglied: colinardo
19.03.2013 um 09:50 Uhr
Stichwort: delayed expansion
01.
setlocal ENABLEDELAYEDEXPANSION 
02.
for /F "delims=" %%b in ('dir /b d:\Files\00001000\*.data') do ( 
03.
   set metaid=%%b 
04.
   set metaid=!metaid:~9,8! 
05.
)
Grüße Uwe
Bitte warten ..
Mitglied: presidente
19.03.2013 um 10:12 Uhr
Vielen Dank Uwe,
funkltioniert soweit. Wie kann ich nun die gesetzten Werte wieder in eine Datei schreiben (c:\kurze_namen.txt), damit ich das sql-script aufrufen kann, denn das rufe ich dann so auf:

@for /F %%c in (c:\kurze_namen.txt) do call %pfad%\SQL\SQL-Command.cmd %%c

so klappt es jedenfalls nicht:

setlocal ENABLEDELAYEDEXPANSION
for /F "delims=" %%b in ('dir /b %suchpfad%\%ordner%\*.data') do (
set dateiname=%%b
set dateiname=!dateiname:~9,8!
)|echo %dateiname% >> c:\kurze_namen.txt

Echo läuft immer ins leere

was bewirkt eigentlich setlocal ENABLEDELAYEDEXPANSION ??

Vielen Dank
Bitte warten ..
Mitglied: colinardo
19.03.2013, aktualisiert um 10:20 Uhr
ENABLEDELAYEDEXPANSION bewirkt die verzögerte Auflösung von Variablen. Um dies zu nutzen musst du innerhalb der FOR-Schleife anstatt von %VARIABLE% --> !VARIABLE! schreiben, also anstatt Prozentzeichen, Ausrufezeichen verwenden:

01.
setlocal ENABLEDELAYEDEXPANSION 
02.
for /F "delims=" %%b in ('dir /b %suchpfad%\%ordner%\*.data') do ( 
03.
set dateiname=%%b 
04.
set dateiname=!dateiname:~9,8! 
05.
echo !dateiname! >>c:\kurze_namen.txt 
06.
)
Bitte warten ..
Mitglied: presidente
19.03.2013 um 10:34 Uhr
Hallo Colinardo,

vielen Dank für die schnelle Hilfe, funktioniert perfekt.

Für was steht eingentlich setlocal ENABLEDELAYEDEXPANSION , was bewirkt das genau ?

Danke
Bitte warten ..
Mitglied: colinardo
19.03.2013, aktualisiert um 10:38 Uhr
Zitat von presidente:
Für was steht eingentlich setlocal ENABLEDELAYEDEXPANSION , was bewirkt das genau ?

SETLOCAL:
Begins localization of environment changes in a batch file.  Environment 
changes made after SETLOCAL has been issued are local to the batch file.
ENABLEDELAYEDEXPANSION /DISABLEDELAYEDEXPANSION:
SETLOCAL batch command now accepts optional arguments: 
        ENABLEEXTENSIONS / DISABLEEXTENSIONS 
            enable or disable command processor extensions.  See 
            CMD /? for details. 
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION 
            enable or disable delayed environment variable 
            expansion.  See SET /? for details.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Wert aus Batch Schleife in Variable speichern

gelöst Frage von anmelderBatch & Shell5 Kommentare

Ich möchte aus einem Verzeichnis alle Dateien mit einer bestimmten Endung anzeigen lassen. Die Dateien sind nummeriert. Der Nutzer ...

Batch & Shell

Mehrere Werte aus FOR Schleife in eine Variable

gelöst Frage von sugramBatch & Shell4 Kommentare

Hallo Also ich komm einfach nicht weiter. Folgendes Problem. Meine aktueller String lautet so: Das Funktioniert auch. Nur ist ...

Batch & Shell

Powershell - Werte in Variable durch Schleife erweitern bzw. ändern

gelöst Frage von ralfkauskBatch & Shell5 Kommentare

Hallo zusammen Ich habe mir ein Skript gebaut mit dem ich unser AD Abfrage und mir anhand eines Benutzernamens ...

Batch & Shell

Einen String in einer TXT finden, nur einen Teil als Variable setzen, FOR Schleife in FOR Schleife

gelöst Frage von KriegstreiberBatch & Shell3 Kommentare

Guten Abend alle miteinander, nunja wenn ich hier die Sufu nutze findet man etliches zu dem Thema, aber ich ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 20 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...