Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 5520 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 Ausgelagerte Variablen in Batchdatei (6)

Frage von mp-home zum Thema Batch & Shell ...

Administrator.de Feedback
gelöst Bug beim Übernehmen der Überschriften-Texte von Links? (2)

Frage von Lochkartenstanzer zum Thema Administrator.de Feedback ...

Batch & Shell
gelöst Wert aus Batch Schleife in Variable speichern (5)

Frage von anmelder zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Taschenrechner in IOS kaputt!

(5)

Information von Lochkartenstanzer zum Thema Humor (lol) ...

Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

(3)

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Windows 7
Abbruch bei Brennvorgang (19)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (16)

Frage von Windows10Gegner zum Thema Router & Routing ...

Firewall
WIndows 7 RDP Massen Angriff (14)

Frage von Motte990 zum Thema Firewall ...