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, 5491 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Variable über Wert aussuchen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...