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

Wert aus einem TEXT-File in eine Batchdatei als Variable übernehmen

Frage Entwicklung Batch & Shell

Mitglied: OMussmann

OMussmann (Level 1) - Jetzt verbinden

02.03.2010 um 14:20 Uhr, 5506 Aufrufe, 3 Kommentare

Hallo liebe Administratorengemeinde,

mich plagt folgendes Problem:

Ich muss regelmäßig Werte aus einer SQL Datenbank löschen. Die Werte stehen in verschiedenen Tabellen. Dafür habe ich mir folgende Script geschrieben:

@echo off
cls
color 70

set bu=15

echo.
echo Buchung wird gelöscht ...
echo Bitte warten ...
echo.

osql.exe -E -Q "delete from projekt.projektuser.re where konto=%bu%"
osql.exe -E -Q "delete from projekt.projektuser.pe where konto=%bu%"
osql.exe -E -Q "delete from projekt.projektuser.te where konto=%bu%"
osql.exe -E -Q "delete from projekt.projektuser.ke where konto=%bu%"
osql.exe -E -Q "delete from projekt.projektuser.ee where konto=%bu%"

goto :EOF

Das Script funktioniert, nur muss ich jedesmal das Script öffnen und die Variable 'bu' ändern, um den nächsten Wert zu löschen

Ideal wäre es, wenn ich in einer Textdatei den Wert eingebe und den Wert der Variable 'bu' und über das Script auslese. Habt Ihr eine Idee, wie das am sinnvollsten gehen würde? Vielen Dank für Euren Support.

LG
Mitglied: Snowman25
02.03.2010 um 14:29 Uhr
die batch:
01.
@Echo off 
02.
color 70 
03.
cls 
04.
for /F %%i in (bu.values) do ( 
05.
	osql.exe -E -Q "delete from projekt.projektuser.re where konto=%%i" 
06.
	osql.exe -E -Q "delete from projekt.projektuser.pe where konto=%%i" 
07.
	osql.exe -E -Q "delete from projekt.projektuser.te where konto=%%i" 
08.
	osql.exe -E -Q "delete from projekt.projektuser.ke where konto=%%i" 
09.
	osql.exe -E -Q "delete from projekt.projektuser.ee where konto=%%i" 
10.
)
in die Datei bu.value kommen dann eben deinen werte
Bitte warten ..
Mitglied: OMussmann
02.03.2010 um 14:42 Uhr
Okay, funktionier. Super und danke.

Fragen noch, weil ich es einfach verstehen will:

- Wofür steht /F?
- Warum zweimal %%?
- i kann eine belibiege Variable sein, also auch bu?


Danke

LG
Oliver
Bitte warten ..
Mitglied: Snowman25
02.03.2010 um 14:50 Uhr
Zitat von OMussmann:
- Wofür steht /F?
Gute Frage. Höchstwahrscheinlich für File. Lies dir dazu mal die Hilfe von for durch. Hier ein kleiner Auszug:
Iterating and file parsing
Use file parsing to process command output, strings and file content. Use iterative variables to define the content or strings you want to examine and use the various ParsingKeywords options to further modify the parsing. Use the ParsingKeywords token option to specify which tokens should be passed as iterative variables. Note that when used without the token option, /F will only examine the first token.
File parsing consists of reading the output, string or file content, breaking it up into individual lines of text and then parsing each line into zero or more tokens. The for loop is then called with the iterative variable value set to the token. By default, /F passes the first blank separated token from each line of each file. Blank lines are skipped.

- Warum zweimal %%?
Damit die werte in der For-Schleife in einem batchfile richtig geparst werden. Wenn du den Befehl direkt am prompt eingibst, dann nur ein %

- i kann eine belibiege Variable sein, also auch bu?
Jein! Du darfst zwar einen beliebigen Namen wählen, allerdings darf dieser nur 1 Buchstabe lang sein und die Groß-/Kleinschreibung muss auch stimmen. So kommt man auf insgesamt 52 mögliche Zeichen.

Danke
Bitte

LG
Oliver

Gruß
Snowman25
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Wert aus batch in externe txt-Datei oder Zwischenablage? (5)

Frage von Yannxck1 zum Thema Batch & Shell ...

VB for Applications
gelöst Formelergebnis in Variable speichern (1)

Frage von Juweee zum Thema VB for Applications ...

Batch & Shell
gelöst Powershell - Ausgabe des Codes als Text (9)

Frage von internet2107 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (18)

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

iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...