autoinf batch
Hi Leute.
Bin das erste Mal hier, und hoffe hier Hilfe zu finden.
Ein großes Dankeschön schon einmal im Vorraus.
Ist es möglich, dass man die Autoinf bzw. die dazugehörige .bat Datei, so schreiben kann, dass die Programme direkt starten, sobald ich den USB-Stick
am PC anschließe?
Als Beispiel.
[autorun]
open=launch.bat
ACTION= Adressbuch
Wie man hier sieht, wird die launch.bat gestartet, nach dem ich meinen USB-Stick eingesteckt habe. Das Windows Fenster öffnet sich, indem ich dann als erste Auswahl, Adressbuch habe, um eben das entsprechende Prgramm zu starten. Mein Anliegen ist nun, ob man die Autoinf. eben so schreiben kann, dass das Windows Fenster sich gar nicht erst öffnet, sondern die Programme direkt, nach anschließen des USB-Sicks, gestartet werden.
Wäre echt dankbar, wenn man mir da helfen könnte.
Gruß.
Bin das erste Mal hier, und hoffe hier Hilfe zu finden.
Ein großes Dankeschön schon einmal im Vorraus.
Ist es möglich, dass man die Autoinf bzw. die dazugehörige .bat Datei, so schreiben kann, dass die Programme direkt starten, sobald ich den USB-Stick
am PC anschließe?
Als Beispiel.
[autorun]
open=launch.bat
ACTION= Adressbuch
Wie man hier sieht, wird die launch.bat gestartet, nach dem ich meinen USB-Stick eingesteckt habe. Das Windows Fenster öffnet sich, indem ich dann als erste Auswahl, Adressbuch habe, um eben das entsprechende Prgramm zu starten. Mein Anliegen ist nun, ob man die Autoinf. eben so schreiben kann, dass das Windows Fenster sich gar nicht erst öffnet, sondern die Programme direkt, nach anschließen des USB-Sicks, gestartet werden.
Wäre echt dankbar, wenn man mir da helfen könnte.
Gruß.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127332
Url: https://administrator.de/contentid/127332
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
23 Kommentare
Neuester Kommentar
Hallo goozegooze,
mit Batch hat das ganze eigentlich reichlich wenig zu tun (mal abgesehen davon, dass du ein Batchfile starten willst).
Ich bin einigermaßen überrascht, dass ein Autorun auf deinem Stick überhaupt noch möglich ist. Bei mir gehts seit Ewigkeiten nicht mehr, da Windows die Sicherheitsdaumenschrauben hier immer mehr anzieht.
Aber gut. Was grundsätzlich zusagen ist:
Die Datei muss zwingend "autorun.inf" heißen und im Rootverzeichnis deines Sticks liegen.
Falls es noch funktioniert, könnte das ganze dann so aussehen:
Das ganze ohne Gewähr. Wenns nicht funktioniert, beschwehr dich bei M$.
Grüße
rubberman
mit Batch hat das ganze eigentlich reichlich wenig zu tun (mal abgesehen davon, dass du ein Batchfile starten willst).
Ich bin einigermaßen überrascht, dass ein Autorun auf deinem Stick überhaupt noch möglich ist. Bei mir gehts seit Ewigkeiten nicht mehr, da Windows die Sicherheitsdaumenschrauben hier immer mehr anzieht.
Aber gut. Was grundsätzlich zusagen ist:
Die Datei muss zwingend "autorun.inf" heißen und im Rootverzeichnis deines Sticks liegen.
Falls es noch funktioniert, könnte das ganze dann so aussehen:
[autorun]
shellexecute=launch.bat
action=Adressbuch
useautoplay=1
Grüße
rubberman
Hallo goozegooze,
danke für den Großmeister, allerdings fangen die in diesem Bereich des Forums mit B und b an. Da kann ich mit großer Wahrscheinlichkeit bis zum Ende meiner Tage nicht mithalten.
Zu deiner Frage:
1. Über ein IF EXIST kannst du abfragen, ob eine Datei bereits existiert. Ggf. nimm doch einfach Datum und Uhrzeit als Dateinamen an?!
2. Ja, wahrscheinlich sind die entsprechenden Sicherheitsupdates noch nicht bis zu deinem Rechner vorgedrungen.
3. Afaik wird das ganze auf Vista und Win7 von vorn herein nicht mehr funktionieren. Dazu kommt noch die schlechte Nachricht, dass du wahrscheinlich keine Chance hast, daran was zu ändern.
Arbeite hier selbst auf Win XP Home SP3, darum kann ich nicht mit Sicherheit behaupten was ich oben geschrieben habe. Nur soviel: Auf meiner Büchse und den XP-Rechnern auf die ich Zugriff habe funktioniert Autorun auf USB-Drives nicht mehr.
Grüße
rubberman
danke für den Großmeister, allerdings fangen die in diesem Bereich des Forums mit B und b an. Da kann ich mit großer Wahrscheinlichkeit bis zum Ende meiner Tage nicht mithalten.
Zu deiner Frage:
1. Über ein IF EXIST kannst du abfragen, ob eine Datei bereits existiert. Ggf. nimm doch einfach Datum und Uhrzeit als Dateinamen an?!
2. Ja, wahrscheinlich sind die entsprechenden Sicherheitsupdates noch nicht bis zu deinem Rechner vorgedrungen.
3. Afaik wird das ganze auf Vista und Win7 von vorn herein nicht mehr funktionieren. Dazu kommt noch die schlechte Nachricht, dass du wahrscheinlich keine Chance hast, daran was zu ändern.
Arbeite hier selbst auf Win XP Home SP3, darum kann ich nicht mit Sicherheit behaupten was ich oben geschrieben habe. Nur soviel: Auf meiner Büchse und den XP-Rechnern auf die ich Zugriff habe funktioniert Autorun auf USB-Drives nicht mehr.
Grüße
rubberman
Hallo goozegooze,
versuchs mal so:
@schregi82
netter Link. Hab ich mir bereits ähnlich per VBS gebastelt. Leider ist das kein wirklicher Ersatz für den Autorun, da das ganze nur auf den Rechnern funktioniert, auf denen das Programm lokal eingerichtet ist.
Grüße
rubberman
versuchs mal so:
@echo off &setlocal enabledelayedexpansion
for /l %%i in (1001,1,1999) do (
set "zahl=%%i"
if not exist Adressbuch!zahl:~1!.txt goto weiter
)
goto :eof
:weiter
start Adressbuch.exe /stext Adressbuch%zahl:~1%.txt
@schregi82
netter Link. Hab ich mir bereits ähnlich per VBS gebastelt. Leider ist das kein wirklicher Ersatz für den Autorun, da das ganze nur auf den Rechnern funktioniert, auf denen das Programm lokal eingerichtet ist.
Grüße
rubberman
Ähm, irgendwie kann ich nicht glauben, dass dein Script so aussieht. Gibt es wirklich eine adressbook1.exe und eine adressbook2.exe?
Was soll diese Zeile tun?:
Hab eine ganze Weile probiert nachzustellen, wie der Dateiname bei dir zustande kommt - ohne Ergebnis.
Hast du in der ersten Zeile das "setlocal enabledelayedexpansion"? Sieht der übergebene Dateiname wirklich so aus: "Adressbuch%zahl:~1%.txt", insbesondere Position und Anzahl der Prozentzeichen?
Grüße
rubberman
Was soll diese Zeile tun?:
dir c:/adressbook /F >\dirlaufwerkCadressbook.txt
Hab eine ganze Weile probiert nachzustellen, wie der Dateiname bei dir zustande kommt - ohne Ergebnis.
Hast du in der ersten Zeile das "setlocal enabledelayedexpansion"? Sieht der übergebene Dateiname wirklich so aus: "Adressbuch%zahl:~1%.txt", insbesondere Position und Anzahl der Prozentzeichen?
Grüße
rubberman
Hallo goozegooze,
kann leider immer noch nicht nachvollziehen, warum das nicht funktionieren soll, es sei denn du startest nur die exe noch einmal, nicht aber die bat?!
Was die andere Zeile angeht: Es gibt keine Option /F beim DIR-Befehl, dort ist es die Option /S. Also vermutlich (falls der Slash ein Backslash sein soll) so:
Im übrigen, wer hier hilft, macht das ganz freiwillig.
Grüße
rubberman
kann leider immer noch nicht nachvollziehen, warum das nicht funktionieren soll, es sei denn du startest nur die exe noch einmal, nicht aber die bat?!
Was die andere Zeile angeht: Es gibt keine Option /F beim DIR-Befehl, dort ist es die Option /S. Also vermutlich (falls der Slash ein Backslash sein soll) so:
dir /s c:\adressbook >\dirlaufwerkCadressbook.txt
Im übrigen, wer hier hilft, macht das ganz freiwillig.
Grüße
rubberman
Hallo goozegooze und willkommen im Forum, hallo rubberman!
Ich klinke mich mal kurz zum Thema "nummerierte Dateien" an dieser Stelle ein ...
Das Weiterzählen sollte sich (am Beispiel von "adressbook1") etwa so machen lassen:
Damit sollten dann "adressbook1001.txt", "adressbook1002.txt", ..., "adressbook1999.txt" entstehen.
Falls es tatsächlich auch "adressbook2.exe" und zugehörige "adressbook2xxx.txt" geben soll, einfach die Zeilen 2 bis 6 kopieren und anpassen (eine zusätzliche Schleife zahlt sich wohl nicht aus) ...
Grüße
bastla
[Edit] Berechnung der nächsten Nr noch etwas abgesichert [/Edit]
Ich klinke mich mal kurz zum Thema "nummerierte Dateien" an dieser Stelle ein ...
Das Weiterzählen sollte sich (am Beispiel von "adressbook1") etwa so machen lassen:
@echo off & setlocal
set "Letzte=1000"
for /f "delims=" %%i in ('dir /b /on adressbook1*.txt 2^>nul') do set "Letzte=%%~ni"
set /a Nr=1%Letzte:~-3%+1 2>nul
if "%Nr%"=="" set Nr=1001
start adressbook1.exe /stext adressbook1%Nr:~-3%.txt
Falls es tatsächlich auch "adressbook2.exe" und zugehörige "adressbook2xxx.txt" geben soll, einfach die Zeilen 2 bis 6 kopieren und anpassen (eine zusätzliche Schleife zahlt sich wohl nicht aus) ...
Grüße
bastla
[Edit] Berechnung der nächsten Nr noch etwas abgesichert [/Edit]
Hallo goozegooze!
Mit
wird der Dateiname zusammengesetzt aus "adressbook1", den letzten 3 Stellen des Variableninhaltes von %Nr% (also wird zB aus 1003 die laufende Nummer "003") und ".txt" - nach dem gleichen Schema kannst Du die Zieldatei für die Ausgabeumleitung auch bei "dir" oder "tree" angeben, also etwa
wobei Du natürlich, wie oben angermerkt, die Ermittlung der Nummer unter Verwendung der Zeilen 2 bis 6 mehrmals (einfach kopieren und zB an den Dateinamen "treelaufwerkC" in den Kopien der Zeilen 3 und 6 anpassen) vornehmen musst.
@rubberman: Habe ich mir noch nicht angesehen ...
Grüße
bastla
Mit
adressbook1%Nr:~-3%.txt
tree C:\ /f>treelaufwerkC%Nr:~-3%.txt
Merkwürdises Verhalten?
rubberman hatte doch "bei" und nicht "von" geschrieben ...@rubberman: Habe ich mir noch nicht angesehen ...
Grüße
bastla
Hallo goozegooze!
Deine Zeile 04 (eine adäquate Formatierung für das Posten von Batches bekommst Du übrigens wie beschrieben hin) sollte so
funktionieren (mit Doppelpunkt nach "Nr"). Die Schreibweise mit "/stext" ist eine Spezialität Deines "adressbook"-Programmes, und "
Je nach der Art der Weiterverarbeitung der erzeugten Datei könnte übrigens noch der zusätzliche Schalter "/a" des "
Um mehr über die Möglichkeiten eines Befehles (wie zB "
aufrufen (sinnvoller Weise direkt von der mit "
Grüße
bastla
Deine Zeile 04 (eine adäquate Formatierung für das Posten von Batches bekommst Du übrigens wie beschrieben hin) sollte so
tree C:\ /f>treelaufwerkC%Nr:~-3%.txt
start
" benötigst Du hier auch nicht.Je nach der Art der Weiterverarbeitung der erzeugten Datei könnte übrigens noch der zusätzliche Schalter "/a" des "
tree
"-Befehles nützlich sein ...Um mehr über die Möglichkeiten eines Befehles (wie zB "
dir
" oder "tree
") zu erfahren, kannst Du die Onlinehilfe mit zBdir /?
cmd
" gestarteten Eingabeaufforderung aus).Grüße
bastla