Top-Themen

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 Script funktioniert nicht mehr, wenn es unter Startmenü ausgeführt wird

Mitglied: joe65

joe65 (Level 1) - Jetzt verbinden

14.10.2013 um 19:24 Uhr, 1537 Aufrufe, 5 Kommentare

Das folgende Batch-Script funktioniert nicht mehr, wenn ich es in das Startmenü von Windows 7 einbinde und von dort aus ausführen will.
Ich bekomme dann den Fehler: Zugriff verweigert.
Meine Vermutung ist, das auf die "Ergebnisdatei" nicht zugegriffen werden kann.
01.
@echo off
02.
setlocal
03.
cls
04.
mode con: cols=130 lines=50
05.

06.
Title Anzahl Dateien ermitteln
07.

08.
set "Ergebnisdatei=Anzahl_Dateien_%date%.txt"
09.

10.
:setPath
11.
color 07
12.
set myPath=
13.
set /p myPath=Geben Sie das Verzeichnis ein: 
14.
echo.
15.

16.
if /i '%myPath%'=='' (
17.
  color 47
18.
  echo Es wurde kein Verzeichnis eingegeben!
19.
  pause
20.
  goto setPath
21.
)
22.
if /i not exist %myPath% (
23.
  color 47
24.
  Ungueltiges Verzeichnis: %myPath%
25.
  goto setPath
26.
)
27.

28.
echo Anzahl der Dateien im Verzeichnis %myPath% ermitteln
29.
echo und in eine Ergebnisdatei = %Ergebnisdatei% schreiben!
30.
pause
31.

32.
echo Bitte warten ...
33.
echo Startzeit: %time% >> "%Ergebnisdatei%"
34.
for /f %%k IN ('dir "%myPath%" /s /b /A-D ^| find /c /v ""') DO @echo %%k Datei(en) im Verzeichnis %myPath% vorhanden. >> %Ergebnisdatei%
35.
echo Endezeit: %time% >> "%Ergebnisdatei%"
36.

37.
color 27
38.
echo.
39.
echo Anzahl Dateien wurden ermittelt!
40.
pause
Grüße
joe65
Mitglied: DerWoWusste
14.10.2013 um 20:54 Uhr
Hi.

In welchem Ordner liegt das Skript? Das Startmenü ist mehr als zweideutig.
Bitte warten ..
Mitglied: AndreasHoster
14.10.2013 um 22:50 Uhr
Ich würde es mal ohne @echo off probieren, dann sieht man was es tut und wo es hängenbleibt.
Sehen was passiert könnte helfen ...
Bitte warten ..
Mitglied: joe65
15.10.2013 um 20:46 Uhr
Hallo,

habe den echo off rausgenommen.
Der Fehler "Zugriff verweigert" tritt 3 mal auf.
1. Mal bei Codestelle:
01.
echo Startzeit: %time% >> "%Ergebnisdatei%"
2. Mal bei Codestelle:
01.
for /f %%k IN ('dir "%myPath%" /s /b /A-D ^| find /c /v ""') DO @echo %%k Datei(en) im Verzeichnis %myPath% vorhanden. >> %Ergebnisdatei%
3. Mal bei Codestelle:
01.
echo Endezeit: %time% >> "%Ergebnisdatei%"
Es sieht so aus, als hat er Probleme mit der Ergebnisdatei.
Die Batch-Routine (Anzahl_Dateien.cmd) liegt im Verzeichnis D:\Meine_Dateien.
Wenn ich die Routine direkt vom Verzeichnis aufrufe habe ich keine Probleme.
Das Script habe ich ins Startmenü gestellt, indem ich einfach durch Shift + "Rechte Maus Click" auf die Datei den Menüpunkt "An Startmenü anheften" gewählt habe.

Grüße
joe65
Bitte warten ..
Mitglied: pieh-ejdsch
17.10.2013, aktualisiert um 18:39 Uhr
moin,

bei echo off sieht man ja schon wenig aber bei Echo OM ON ist noch etwas Betriebsblindheit vorhanden:
C:\Windows\system32>Title Anzahl Dateien ermitteln

C:\Windows\system32>set "Ergebnisdatei=Anzahl_Dateien_%date%.txt"
...
Im Systemverzeichnis herummalen ist auch nicht gut.

Falls es mal wieder hakt ist ein Test besser:
01.
::@echo off
02.
 rem hat in einer Ungetesteten Batch/Bereich nichts verloren
03.
 rem wenn ich Eine Batch teste dann lege ich ECHO ON/ECHO OFF in
04.
 rem einer Offenen CMD_Line fest und starte darin den Batch
05.

06.
setlocal
07.
 rem Ein paar kleine Helferlein
08.
 rem zum testen von Batchdateien
09.

10.
 rem Prompt kuerzer einstellen [Gilt in diesem SetLocal ]
11.
set Prompt=$G$S
12.

13.
 rem Wenns nacher auch so sein soll: Prompt $G$S
14.

15.
 rem Echo Ausgabe?
16.
call :checkECHO
17.

18.
:checkCMDline Überprüft ob die Batch in der Kommandozeile gestartet wurde.
19.
@echo off
20.
setlocal disabledelayedexpansion
21.
 rem CMD-Kontex ?
22.
set "CMDPause=%~f0"
23.
set "CMDPause=%CMDPause:\=\\%"
24.
set "CMDPause=%CMDPause:.=\.%"
25.
setlocal enabledelayedexpansion
26.
for /f delims^= %%i in ("!CMDcmdLine!") do endlocal &set "CMDPin=%%i"
27.
cmd /von /c "echo !CMDPin!" |findstr /irc:"cmd .*\/c \"\"%CMDPause%\" .*\"" >nul &&endlocal &&set "CMDPause=pause &" ||endlocal &&set "CMDPause=" 
28.
:;end_checkCMDline Variable CMDpause wird im Batchkontex zur verfügung gestellt.
29.

30.
 rem Wiederherstellen der vorigen ECHO einstellung
31.
if %mon%. equ rem. echo on
32.

33.
%mon% Ich laufe in diesem Verzeichnis:
34.
cd
35.
%mon% 
36.
%mon% Der name der Batchdatei ist:
37.
%mon% 	%~n0
38.
%mon%
39.
%mon% Der Pfad der Batchdatei ist: 
40.
%mon% 	%~dp0
41.
%mon%
42.

43.
call :sub1
44.
if errorlevel 1 echo Fehler im vorigen Befehl
45.
call :sub check
46.
if errorlevel 1 echo Fehler im vorigen Befehl
47.
if errorlevel 0 echo voriger Befehl erfolgreich 
48.
goto :weiter Hinter der Sub
49.
 if errorlevel 1 rem Der Fehler wird beim goto nicht angezeigt
50.
:sub
51.
%mon% Wo laufe ich denn?
52.
setlocal enabledelayedexpansion
53.
set R=%0
54.
if !R:~^,1! neq : (endlocal
55.
 %mon% Ich bin in der Batch: "%~f0"
56.
 %mon% die Paramter der Batch sind: %*
57.
) else (
58.
 %mon% Ich bin in der Subroutine: %0
59.
 %mon% die Paramter der Subroutine sind: %*
60.
)
61.
%mon%
62.
exit /b 0
63.

64.
:weiter
65.
%mon% Wo laufe ich denn?
66.
setlocal enabledelayedexpansion
67.
set R=%0
68.
if !R:~^,1! neq : (endlocal
69.
 %mon% Ich bin in der Batch: "%~f0" 
70.
 %mon%
71.
 %mon% die Paramter der Batch sind: %*
72.
) else (
73.
 %mon% Ich bin in der Subroutine: %0
74.
 %mon%
75.
 %mon% die Paramter der Subroutine sind: %*
76.
)
77.

78.
 rem Das Verzeichnis der Batchdatei verwenden
79.
pushD "%~dp0"
80.
cd
81.

82.
popD
83.
 rem und nun gibts eine Pause wenn dieser Batch nicht im CDM-Kontex ist,
84.
 rem was  man ja beim Testen ohnehin in einer offenen CMD-Line tun sollte.
85.
%cmdpause% exit /b
86.

87.
:checkECHO Um eine Batch vor dem Produktivbetrieb zu testen
88.
 rem Mon Zeilen bei ECHO ON auf REM umschalten, um zB. Kommentarzeilen 
89.
 rem auch bei ECHO OFF anzuzeigen sowie die vorherige Wiedergabe des Echos
90.
 rem bei echo on zu unterbinden wird die Variable Mon dementsprechend gesetzt.
91.
echo>"%temp%\isOn.echocheck"
92.
< "%temp%\isOn.echocheck" find "ON" >nul && set "Mon=rem" || set "Mon=echo("
93.
del "%temp%\isOn.echocheck"
94.
:;end_checkECHO
95.
exit /b
Gruß Phil
Bitte warten ..
Mitglied: joe65
20.10.2013 um 16:40 Uhr
Hallo Phil,

Danke für deine Anmerkungen. Ich habe mittlerweile festgestellt, das der Fehler "Zugriff verweigert" nicht mehr kommt, wenn man eine Verknüpfung des Batch-Scripts in das Startmenü stellt. Werde die Frage als gelöst markieren.

Gruß
joe65
Bitte warten ..
Ähnliche Inhalte
Windows 10

Startmenu Links im Default Profil festlegen

Frage von flotautWindows 1012 Kommentare

Hallo Miteinander, ich möchte die Einstellung "Choose which apps appear in Start menu" Systemweit setzen bzw. für den Default ...

Windows Server

Startmenu - Suche Windows Server 2016

Frage von certifiedit.netWindows Server8 Kommentare

Schönen Vor-Wochenendmittag, ich steh gerade vor dem Ärgernis, dass beim Server 2016 installierte Windowsmodule nicht per WIN->"Programmname"->Enter zu finden ...

Installation

Dpinst.exe via script funktioniert nicht

Frage von manibamInstallation1 Kommentar

Hallo Will eine dpinst.exe via Script im Silent Mode installieren (dpinst.exe /s). Aber es kommt jedes mal das normale ...

Batch & Shell

Systemvariable funktioniert im Script nicht

Frage von miczarBatch & Shell4 Kommentare

Guten Morgen zusammen, ich habe hier mehrere PCs mit Windows 7 System auf dem ich ein Script laufen habe. ...

Neue Wissensbeiträge
Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 1 TagWindows 1011 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 2 TagenSicherheits-Tools5 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 5 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Humor (lol)
Spirit of Health-Kongress in Berlin
Information von AnkhMorpork vor 5 TagenHumor (lol)6 Kommentare

tgif! Beim dritten Spirit of Health-Kongress trafen sich am Wochenende Alternativmediziner und Naturheilkundler im Maritim Hotel Berlin, um sich ...

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware26 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Outlook & Mail
Office 365 mit Email-Profil installieren
Frage von Carat2121Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...

Hardware
Empfehlung zu neuen Desktop Pcs innerhalb KMU
Frage von Leo-leHardware13 Kommentare

Hallo zusammen, vielleicht könnt Ihr, anhand Eurer Erfahrung, mir einen Tipp zur Bestellung neuer Desktop Pcs für unsere User ...