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

Mitglied: Chrissi74

Chrissi74 (Level 1) - Jetzt verbinden

12.01.2011, aktualisiert 21:26 Uhr, 4818 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 ..
Heiß diskutierte Inhalte
Windows Server
Aufgabenplanung PowerShell Skript startet nicht
shooanVor 1 TagFrageWindows Server36 Kommentare

Hallo Zusammen, ich habe ein Skript bekommen das ich gerne so einstellen will das dieses beim Start des Exchangeservers aktiviert werden soll. Ein Ausführung ...

Internet
Webcam oder IPcam aus dem Internet erreichbar?
dertowaVor 1 TagFrageInternet17 Kommentare

Hallo zusammen, mal eine spezielle Frage, vielleicht kann jemand einen Dienst aufgrund guter Erfahrung empfehlen. Die Hündin einer guten Bekannten bekommt Nachwuchs und dafür ...

Windows Netzwerk
Computername erneut vergeben?
gelöst malkieVor 1 TagFrageWindows Netzwerk10 Kommentare

Guten Morgen, wir haben in der Firma Computernamen nach dem Muster: PC-Abteilung-Nummer (PC-IT-1) So, aktuell habe ich mal gelernt ganz früher, dass man den ...

Backup
Zusätzlicher Backupschutz gegen Ransomware Befall
staybbVor 1 TagFrageBackup4 Kommentare

Hallo zusammen, wir nutzen Veeam Backup & Replication als Backup für unsere Server und Files. Es werden immer on-side beim Kunden Backups auf einem ...

LAN, WAN, Wireless
Unterschiedliche IP-Adressbereiche im Netzwerk
achkleinVor 15 StundenFrageLAN, WAN, Wireless17 Kommentare

Hallo, ich stehe vor einem Problem mit der WLAN-Verbindung zum Router (Fritzbox Cable 6490). Das verbundene Notebook hat die Adresse 192.168.0.164, Gateway ist 192.168.0.149: ...

Router & Routing
Verkaufe apu4.d4 Set
pasu69Vor 1 TagAllgemeinRouter & Routing11 Kommentare

Guten Abend zusammen, ich hätte ein APU4.D4 Bundle abzugeben, dass ich erst Anfang März gekauft habe. Leider ist die Hardware tatsächlich zu schwach, um ...

Microsoft Office
E-Mail kommt nicht an
gelöst HeinrichMVor 1 TagFrageMicrosoft Office10 Kommentare

Hallo zusammen, in der letzten Zeit häufen sich die Meldungen, dass E-Mails nicht ankommen. Es ist kein Muster zu erkennen. Mal kommt eine Mail ...

Hardware
Temperaturüberwachung Raum
ingo1988Vor 1 TagFrageHardware8 Kommentare

Hallo, ich brauche eure Hilfe. Ich möchte gerne eine Temperaturüberwachung installieren. Es sollte über Wifi funktionieren, ist aber kein Muss. Außerdem soll eine Alarmbenachrichtigung ...