2016-05-03 9 views
2

ich alle Daten von SQL Server-Tabelle in eine CSV exportiert werden soll, ich weiß, ich kann das gewünschte Ergebnis:für mehrere Befehl Verwendung für Dateifenster Schleife Fledermaus ruft

sqlcmd -S . -d database -E -s, -W -Q "SELECT * FROM TABLENAME" > file.csv 

Ich habe viele Tische, so ich mag eine .bat-Datei erstellen, die die Arbeit für mich tun, ich habe dies:

set "list = A B C D" 


for %%x in (%list%) do (
    sqlcmd -S . -d database -E -s, -W -Q "SELECT * FROM %%x" > %%x.csv 

) 

Aber ich bin immer Fehler, weiß ich nicht (ich bin kein Experte in Fledermaus-Dateien). Warum funktioniert das nicht? Wie kann ich machen was ich will?

+0

Gute Frage .. –

+1

Mögliche Duplikat [Deklarieren und mit einer Variablen in DOS/Windows-Batch-Datei (.bat)] (http://stackoverflow.com/questions/10552812/deklarieren-und-verwenden-eine-Variable-in-dos-Windows-Batch-Datei-bat) – aschipfl

Antwort

6

Der Abstand ist wichtig, wenn Sie set verwenden (es sei denn, Sie machen Mathe mit dem Schalter /A). Wie beschrieben, ist die von Ihnen eingestellte Variable nicht %list%. Es ist %list %. Ändern Sie Ihre set Befehl wie folgt:

set "list=A B C D" 
Verwandte Themen