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

Batch-Dateien unter Start - Zuletzt verwendet anzeigen lassen (batfile .bat)

Frage Entwicklung Batch & Shell

Mitglied: evinben

evinben (Level 2) - Jetzt verbinden

07.06.2012, aktualisiert 11:36 Uhr, 4825 Aufrufe, 10 Kommentare

Hallo,

wie können alle zuletzt benutzte Batch-Dateien unter „Start > Zuletzt verwendet“ angezeigt werden? Es werden dort leider keine .bat-Dateien standardmäßig als zuletzt verwendet angezeigt.

Danke für eure Hilfe!

Gruß
evinben
Mitglied: BekkZter
07.06.2012 um 11:51 Uhr
Moin,

du sitzt die Sache ja schon ein bisschen länger aus was ! Administrator

Vielleicht hilft dir dieser Thread ja weiter

KLICK

Gruß
Bitte warten ..
Mitglied: evinben
07.06.2012 um 12:25 Uhr
Hallo BekkZter,

stimmt... dieser Wunsch ist schon lange her, sodass ich es vergessen habe hier zu .bat-Dateien ebenso geschrieben zu haben.

In deinem zweiten Link "KLICK" aus anderen Foren ist leider keine richtige bzw. akzeptable Lösung zu finden.


Ich überlege, was ich noch machen könnte...

Danke

Gruß
evinben
Bitte warten ..
Mitglied: pieh-ejdsch
07.06.2012, aktualisiert 20.07.2012
moin evinben,

ums Verecken will der Recent Ordner keine anders hinzugefügten Dateien akzeptieren.
Eine Alternative wäre eine neue Symbolleiste anzulegen. (zum Wechsel für den Energiesparplan hab ichs auch so gemacht).

Du kannst also die ganze Befehlszeile in der Batch so Übergeben
Batchlink "%~f0" %*

01.
@echo off 
02.
setlocal disabledelayedexpansion 
03.
if "%~1" equ "" echo Syntaxfehler. >&2 & exit /b 1 
04.
if "%~1" equ "/?" echo Erzeugt Batch Verknuepfungen.^ 
05.
 &echo(&<nul set /p "=%~n0 " &echo Datei [Args] [Link] [/Description:"..."] [/WorkingDir:ArbeitsPfad]^ 
06.
 &echo(&echo  Datei  	Ziel der Verknuepfung.^ 
07.
 &echo  Args   	Argumente die dem Ziel uebergeben werden.^ 
08.
 &echo  Link   	Vollerstaendiger Name der Verknuepfung mit der Endung .LNK^ 
09.
 &echo 		ohne Linkangabe wird ein Link im definierten Ordner angelegt.^ 
10.
 &echo 		 wird die Variable: ExtRecentFolder Vordefiniert,^ 
11.
 &echo 		 werden die Verknuepfungen in diesen Ordner gelegt.^ 
12.
 &echo  /Description:  Angabe einer Beschreibung der Verknuepfung.^ 
13.
 &echo  /WorkingDir:   Angabe eines Arbeitspfades des Zieles der Verknuepfung.^ 
14.
 &exit /b 0 
15.
for %%i in ( Create NCreate TargetPath Desc Work PWork Args ExtRecentList ) do set "%%i=" 
16.
 
17.
set "ExtRecentList=15" 
18.
 rem Dieser Ordner zeigt in einer neu angelegten Symbolleiste die neuesten x Verknuepfungen 
19.
if defined ExtRecentFolder goto :LinkFolder 
20.
set "ExtRecentFolder=D:\Letzte Batches" 
21.
 
22.
:LinkFolder 
23.
if defined ExtRecentList set "ExtRecentList=+%ExtRecentList%" 
24.
:in 
25.
set IN=%1 
26.
if not defined IN goto :out 
27.
setlocal enabledelayedexpansion 
28.
set "IN=!IN:"=!" 
29.
if /i "!IN:~,13!" equ "/Description:" for /f delims^= %%i in ("!IN:~13!" ) do endlocal &set "Desc=%%~i" &shift &goto :in 
30.
if /i "!IN:~,12!" equ "/WorkingDir:"  for /f delims^= %%i in ("!IN:~12!" ) do endlocal &set "Work=%%~i" &shift &goto :in 
31.
if /i "%~x1" equ ".lnk" endlocal &set "Create=%~1" &shift &goto :in 
32.
for %%x in (.cmd .bat ) do if exist "%~dpn1%%x" endlocal &set "TargetPath=%~f1" &set "PWork=%~dp1" &set "NCreate=%~nx1" &shift &goto :in 
33.
set Args=!Args!%1  
34.
for /f delims^= %%i in ("!Args!" ) do endlocal &set Args=%%i &shift &goto :in 
35.
 
36.
:out 
37.
setlocal enabledelayedexpansion 
38.
if not defined PWork >&2 echo Fehler Keine Quelle angegeben. &exit /b 1 
39.
 
40.
 rem Fuer einen eigens angelegten Ordner zB. in einer "neue Symbolleiste" 
41.
if not defined Create set "Create=%ExtRecentFolder%\!NCreate!.LNK" 
42.
if not defined Create >&2 echo Fehler Keine Verknuepfung angegeben. &exit /b2 
43.
if not defined Work set "work=!PWork!" 
44.
 rem Link richtig löschen für Aktualisierung des Dateisystemes mit Verzögerung 
45.
md "%ExtRecentFolder%" 2>nul ||if exist "!Create!" echo Aktualisierung ... &&del /s "!Create!" >nul &&ping localhost -n 2 1>nul 
46.
for /f "tokens=3 delims=. " %%i in ('chcp' ) do set "CP=%%i" 
47.
chcp 1252 >nul 
48.
49.
>&4 echo Set objShell=WScript.CreateObject^("Wscript.Shell"^) 
50.
>&4 echo Set objShortcut=objShell.CreateShortcut^("!Create!"^) 
51.
>&4 echo objShortcut.TargetPath="!TargetPath!" 
52.
>&4 echo objShortcut.Description="!Desc!" 
53.
>&4 echo objShortcut.WorkingDirectory="!Work!" 
54.
>&4 echo objShortcut.Arguments = "!Args!" 
55.
>&4 >nul echo objShortcut.IconLocation="" 
56.
>&4 echo objShortcut.Save 
57.
) 4>"%temp%\MakeShortCut.vbs" 
58.
cscript //nologo %temp%\MakeShortCut.vbs 
59.
del "%temp%\MakeShortCut.vbs" 
60.
 
61.
pushD "%ExtRecentFolder%" ||chcp %CP% >nul &&exit /b 1 
62.
if defined ExtRecentList for /f delims^= %%i in ('dir /b /o-d *.lnk ^|more %ExtRecentList% ^|find /v "" ' ) do del "%%~i" 
63.
popD 
64.
chcp %CP% >nul 
65.
exit /b 0
[Edit]
Hilfe erweitert
Zeile für Extrecentfolder angepasst
[/Edit]
Gruß Phil
Bitte warten ..
Mitglied: evinben
08.06.2012, aktualisiert um 09:20 Uhr
Hallo Phil!

puhhhh… das muss ich noch verdauen. Für mich ist der Code noch wie Schneeflöckchen - den Aufbau und die Funktion vieler Zeilen ist für mich neu und sie entschlüssele ich noch nicht (angefangen schon mit der 5. 6. und 7. Zeile: &echo(&echo %~n0 Datei [Args] [Link] [/Description:"..."] [/WorkingDir:ArbeitsPfad]^ )
Ich werde mich bemühen und wenn ich so weit bin werde gerne meinen Erfolg hier berichten.

Vielen Dank.

Gruß
evinben
Bitte warten ..
Mitglied: pieh-ejdsch
08.06.2012, aktualisiert um 13:44 Uhr
moin evinben,

diese Zeilen werden Ausgeführt, wenn die Hilfe des Schnipsels ( /? ) aufgerufen wird.

ich habe sie noch ein bissel Erweitert und einen Codepagewechsel gesponsort, damit die Beschreibung auch mit Sonderzeichen richtig angezeigt wird.

Gruß Phil
Bitte warten ..
Mitglied: evinben
12.07.2012 um 13:35 Uhr
Hallo pieh-ejdsch!

Danke schön! Das Skript funktioniert ausgezeichnet.
(Kleine Anpassung nur habe ich vorgenommen: die 19. Zeile wird im Falle einer definierte Variable "%ExtRecentFolder%" nicht mehr übersprungen.)

Ich habe mir momentan eine Desktop-Symbolleiste hierfür angelegt. Eventuell werde ich es schaffen einen nicht benutzten Ordner aus dem %UserProfile%, z. B. Downloads, auf einen anderen Speicherort (Ordnernamen) umbiegen und an das Startmenü mit der Option „Als Menü anzeigen“ anzuheften. Ich versuche diesen dort z. B. irgendwie als „Zuletzt verwendete Skripte“ anzeigen zulassen.

PS: Diese Batch-Datei anstatt mit
01.
Batchlink "%~f0" %*
wie folgt abrufen:
01.
Batchlink.bat "%~f0" %*
Gruß
evinben
Bitte warten ..
Mitglied: evinben
20.07.2012 um 17:32 Uhr
Hallo Phil,

wenn ich in einer übergeordneten Batch-Datei in der Kopfzeile die folgende Zeile
01.
Batchlink.bat "%~f0" %* 
02.
echo Es funktioniert 
03.
 
04.
pause
einbaue, um jeweils die Datei Batchlink.bat mit auszuführen, dann wird der restliche Code in dem übergeordneten Batch unterhalb dieser Befehlszeile Batchlink.bat "%~f0" % nicht ausgeführt (also die zweite Zeile - das Echo Es funktioniert - wird nicht ausgeführt bzw. nicht in CMD angezeigt). Ich habe versucht den Fehler selbst zu beseitigen und habe z. B. die letzte Zeile in deinem Skript oben exit /b 0 deaktiviert, aber leider keine Besserung.
Wo wäre der Fehler genau? (Ganz am Ende möchte ich die obige Zeile nicht einbauen, da diese in meiner Batch-Vorlage aufgenommen wird und ich möchte gerne alles in der Kopfzeile haben).

Gruß
evinben
Bitte warten ..
Mitglied: pieh-ejdsch
20.07.2012 um 17:57 Uhr
moin evinben,

wäre ja ne neue Fragestellung ...

Aber eine Batch läuft ja in einen CMD-Kontex ab. Gewissermassen wird kein weiter CMD-Kontex erstellt und daher ab dieser Stelle im anderen Batch weitergemacht.

Da hab ich mich etwas schlecht ausgedrückt - die Zeile Funktioniert so nur zum Ende der Batch.

Mit der rückkehr sollte es aber klappen.
call Batchlink.bat "%~f0" %*
oder
start "Erstelle Link" Batchlink.bat "%~f0" %*
oder
start "Erstelle Link" /wait cmd /c Batchlink.bat "%~f0" %*
Gruß Phil
Bitte warten ..
Mitglied: evinben
20.07.2012 um 17:57 Uhr
Hallo,

paar Tipps:

1. einen nicht benutzten Shell-Ordner aus dem Benutzerprofil, z. B. den Ordner Downloads, im rechten Bereich des Startmenüs aktivieren und als Menü anzeigen lassen: Rechtsklick über dem Startmenü > Eigenschaft > Anpassen > Downloads > Als Menü anzeigen.
2. Über die Eigenschaften dieses Ordners seinen Pfad auf einen beliebigen Ordner (Registerkarte Pfad), in welchem die Verknüpfungen der zuletzt aufgerufenen Batch-Dateien letztendlich abgelegt werden sollen, umstellen.
3. Im Start-Menü den Ordner Downloads mit Rechtklick am besten auf Zuletzt verwendete Batch-Dateien umbenennen.
4. Den Ordner Downloads (nun mit der Anzeigenamen Zuletzt verwendete Batch-Dateien) im Benutzerprofil verstecken.
Optional kann auf der Desktop-Leiste zusätzlich eine neue Symbolleiste mit dem Namen „Links“ erstellt werden und dabei den Ordner, in welchem die Batch-Verknüpfungen abgelegt werden, auswählen (also der gleiche Ordner, auf welchen der Ordner Downloads mit dem neuen Anzeigenamen Zuletzt verwendete Batch-Dateien zugreift): Rechtsklick über der Taskleiste > Symbolleisten > Neue Symbolleiste.

Übrigens: Den Anzeigenamen könnt ihr in der Desktop.ini-Datei (die sich in dem Downloads-Ordner versteckt) per Batch schreiben und bei Bedarf eine andere Icon zuweisen.

Es sieht im Startmenü nun schick aus und endlich keine Suche mehr nach der zuletzt ausgeführten Batch-Dateien!

Großen Lob natürlich an Phil (pieh-ejdsch) für seine Arbeit!

Gruß
evinben
Bitte warten ..
Mitglied: evinben
07.08.2012 um 12:28 Uhr
Hallo Phil,

wäre s eventuell möglich das mit der Aktualisierung irgendwie zu optimieren (falls es technisch gehen würde), um die Batches zu beschleunigen?

Wolltest du hiermit ein potentielles Problem (etwa wie Überschneidung der Operationen) vermeiden?
01.
md "%ExtRecentFolder%" 2>nul ||if exist "!Create!" echo Aktualisierung ... &&del /s "!Create!" >nul &&ping localhost -n 2 1>nul 
So wie ich die Befehlszeilen analysiere, werden diese (auch bedingt der Verkettung mit &&) erst ausgeführt, nachdem die vorherstehenden Befehle vollständig abgearbeitet sind, im Gegensatz zu etwas wie
01.
**cmd.exe /c start "FensterTitel" "Notepad.exe" & echo "ich laufe parallel und du mach deine Arbeit weiter..."
in welcher Zusammenstellung dann ein neues Prozess parallel ausgeführt wird und zeitgleich die Bearbeitung des Batches vortgesetzt.

Gruß
evinben
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Monitoring
gelöst Zugewiesene Benutzerrechte auf Server anzeigen lassen (1)

Frage von Fitzel69 zum Thema Monitoring ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...