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

Batch-Datei bei Windows 7 nur über die Eingabeaufforderung möglich

Frage Microsoft Windows 7

Mitglied: Chrissi74

Chrissi74 (Level 1) - Jetzt verbinden

12.01.2011, aktualisiert 21:26 Uhr, 4531 Aufrufe, 6 Kommentare

Hallo,

ich habe eine Bat-Datei mit Speicherort über die Path-Variable.
Bei XP und Vista kann die Datei ohne Probleme ausgeführt werden.
Bei allen PCs mit Win7 (64-bit) funktioniert die Ausführung nicht über rechte Maustaste "Als Administrator ausführen".
Das Ausführen ist nur über die Eingabeaufforderung möglich. Aber dort auch nur, wenn ich vorher das Verzeichnis, wo sich die bat-Datei befindet, aufrufe.
Die Path-Variable habe ich überprüft. Diese ist in Ordnung.

Wo liegt das Problem?

Gruß
Chrissi74
Mitglied: kingkong
12.01.2011 um 21:50 Uhr
Ich verstehe nicht so ganz, was Du meinst. Du schreibst, Du möchtest per "Als Administrator ausführen" die Batch-Datei starten. Das hat aber doch gar nichts mit irgendeiner Path-Variablen zu tun. Oder benutzt Du in der Batch-Datei diese Variable, um auf den Speicherort zuzugreifen?
Und was meinst Du mit
Ausführen ist nur über die Eingabeaufforderung möglich. Aber dort auch nur, wenn ich vorher das Verzeichnis, wo sich die bat-Datei befindet, aufrufe.
Wenn der Pfad, im dem sich die Batch-Datei befindet, nicht in der Path-Variablen enthalten ist, dann kann der PC die Datei natürlich nicht finden. Fürs Ausführen musst Du dann also entweder in das Speicherverzeichnis wechseln, oder Du rufst die Batch-Datei mit dem kompletten Pfad auf (also z.B. "c:\users\beispieluser\documents\run.bat").
Bitte warten ..
Mitglied: Chrissi74
12.01.2011 um 22:04 Uhr
In der Batch-Datei wird diese Variable genutzt, um auf den Ausführungsort zuzugreifen. Wie gesagt, bei XP und Vista funktioniert alles so wie es soll.
Bei Win7 muss ich in der Eingabeaufforderung das Verzeichnis aufrufen, wo sich die batch-Datei befindet. (z.B. c:\progamdata\beispiel\Skript\). Hinter dieses Verzeichnis kopiere ich dann den Text aus dem Skript und bestätige dieses mit der Entertaste. Nun wird das Skript ausgeführt.
Der Weg ist leider zu umständlich.
Bitte warten ..
Mitglied: bastla
12.01.2011 um 22:57 Uhr
Hallo Chrissi74!

Wäre es nicht sinnvoll, Deine Batch-Datei oder zumindest den relevanten Teil davon (vorzugsweise als "Code" formatiert) zu posten?

Grüße
bastla
Bitte warten ..
Mitglied: Chrissi74
13.01.2011 um 17:47 Uhr
Hier die Batch-Datei

sqlcmd -E -S %COMPUTERNAME%\Datenbankname -i Beispiel.sql -o Beispiel.txt

Die Beispiel.sql:

USE Datenbank

DECLARE @strTabellenname VARCHAR(50)
DECLARE @strOwner VARCHAR(50)
DECLARE @strOwnerTab VARCHAR(255)

DECLARE curTables CURSOR FOR
SELECT o.[name], u.[name] FROM sysobjects o, sysusers u where o.xtype = 'U'
AND o.name<>'dtproperties'
AND upper(u.name) <> 'DBO'
AND u.uid = o.uid

OPEN curTables
FETCH NEXT FROM curTables INTO @strTabellenname, @strOwner

WHILE @@FETCH_STATUS = 0
BEGIN
SET @strOwnerTab = @strOwner + '.' + @strTabellenname;
EXEC sp_changeobjectowner @strOwnerTab, 'dbo'

FETCH NEXT FROM curTables INTO @strTabellenname, @strOwner
END

CLOSE curTables
DEALLOCATE curTables
GO

DECLARE @strTabellenname VARCHAR(50)
DECLARE @strStmt VARCHAR(512)

DECLARE curTrsfTables CURSOR FOR
SELECT [name] FROM sysobjects where
upper([name]) LIKE 'TRSF[_]%'

OPEN curTrsfTables
FETCH NEXT FROM curTrsfTables INTO @strTabellenname

WHILE @@FETCH_STATUS = 0
BEGIN
set @strStmt = 'DROP TABLE ' + @strTabellenname
EXEC(@strStmt)
FETCH NEXT FROM curTrsfTables INTO @strTabellenname
END

CLOSE curTrsfTables
DEALLOCATE curTrsfTables
GO

EXEC sp_revokedbaccess @Name_in_db = 'supervisor'
GO
EXEC sp_grantdbaccess 'supervisor', 'supervisor'
Go
EXEC sp_addrolemember 'db_datareader', 'supervisor'
Go
EXEC sp_addrolemember 'db_datawriter', 'supervisor'
Go
GRANT CREATE TABLE TO supervisor
GO
Bitte warten ..
Mitglied: Biber
13.01.2011 um 19:24 Uhr
Moin Chrissi74,

Die Path-Variable habe ich überprüft. Diese ist in Ordnung.
Welche %path%-Variable denn - die "Systemvariable" %PATH% oder die "Benutzerbezogene Variable" %PATH%?

Wenn der oben unformatiert gepostete Oneliner nichts tut, dann könnte es auch daran liegen, dass Input und Outputdateien nicht dort sind wo du hoffst.

Schreib doch wenigstens bei den "-i" und "-o"-Dateiangaben dazu, dass die im Verzeichnis der batchdatei liegen. ( also "sqlcmd ...-i %~dp0Beispiel.sql .." )

Grüße
Biber
Bitte warten ..
Mitglied: Chrissi74
14.01.2011 um 21:00 Uhr
Ich glaube es war die Systemvariable. Man hat mir gesagt, dass hier die Variable vorhanden sein muss.
Ich werde die Batch-Datei bei dem nächsten Win7 Computer ändern und sie dann ausprobieren.
Falls noch jemand einen weiteren Vorschlag hat, nehme ich diesen gerne an.
Gruß
Chrissi74
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...