Bat per cmd erstellen?

2 Antworten

Wenn du es ganz primitiv anstellen willst, könntest du per "echo" und "Ausgabeumleitung" Zeile für Zeile einzeln in eine neu Datei schreiben.

@echo off
 rem in den Zielordner wechseln um später  nicht  jedesmal den vollen Pfad der Zieldatei in die Umleitung schreiben zu müssen!
cd "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"

 >"neueBatch.cmd" echo @echo off
>>"neueBatch.cmd" echo echo Hallo gruesse  aus den Autostart
>>"neueBatch.cmd" echo echo Es ist jetzt %%time:~0,8%% Uhr
>>"neueBatch.cmd" echo timeout 5 ^>nul

das ist insofern Problematisch, da man Steuerzeichen welche in der Zieldatei verwendet werden sollen einzeln als Text maskieren muss. (Damit treibst Du den Teufel mit dem Beelzebub aus)

mit den Leerzeichne im Pfad wirst Du fertig, indem den Pfad in "Gänsefüschen" schreibst:

copy "c:\blubb\meine Batch.cmd"  "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"

aber warum sollte man sich mit 2 Batchdateien herumschlagen? Einfach eine Batch welche sich selbst erkennt, sich selbst in den Autostart kopiert und auch von selbst erkennt von wo sie gestartet wird und sich abhängig vom ort wo sie gespeichert ist anders verhält.

Hier eine Vorlage, in welche Du den Auszuführenden Code nur nach der Zeile ":inAutoStart" einfügen musst:

demo.cmd

@echo off
chcp 65001 >nul
 
set "AutoFolders=Microsoft\Windows\Start Menu\Programs\Startup"
  rem prüfe ob sich diese Batch bereits im Autostart befindet
for %%. in ("%AppData%" "%ProgramData%") do (
    if "%~dp0"=="%%~.\%AutoFolders%\"  goto :inAutoStart
)
:install
 rem kopiere diese Batch-Datei (%~f0) in den  Autostart für den aktuellen Nutzer  für  alle Nutzer (%ProgramData%) wären Adminrechte  nötig
copy "%~f0" "%AppData%\%AutoFolders%" >nul
echo Installiert...
start "" "%AppData%\%AutoFolders%"  &rem mal zur demo anzeigen (Zeile kann weg)
timeout 5 &rem 5Sekunden Pause  vor  dem beenden  der Instalationsroutine (Zeile kann weg)
exit /b   &rem hier ist der "Selbst-Installer"  zu Ende


:inAutoStart
  rem  hier  kommt alles rein was automatisch ausgeführt werden  soll
echo ich bin im AutoStart

pause

Deinen aktiven Code musst Du in den Abschnitt ":inAutoStart" schreiben.

die Zeilen:

echo Installiert...
start "" "%AppData%\%AutoFolders%"
timeout 5

...dienen lediglich zum testen der Funktionsweise und können entfernt werden.

 
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Lotos124 
Beitragsersteller
 16.07.2024, 10:45

Hi habe vergessen die anführungszeichen zu setzten... und das mit dem selbst kopieren wie gesagt bereite nen Prank für meinen Cousine vor und will den mit den Raspberry PI Pico ausführen...

0
*für alle die Fragen ich will meinen Cousine bisschen Pranken…

Sorry, aber dafür bekommst Du von mir keine Antwort! ich helfe niemandem bei Straftaten!

Woher ich das weiß:Berufserfahrung – Let's have some Raspberry PI almost at breakfast ;-)

Erzesel  16.07.2024, 10:13

Straftat ist wohl etwas "hoch" gehängt.

Zur Straftat wird die Sache wenn der Eigentümer des betroffenen Rechners dem Zugriff auf den Rechner nicht zugestimmt hat und/oder dieses Vorgehen im Nachhinein zur Anzeige bringt

Eine Straftat nach §303 stgb wird erst, wenn nicht wenigstens eine stillschweigende Duldung vorlag. (je nach Auslegung könnte es schon als Zustimmung gewertet werden, wenn der Rechner unbeaufsichtigt für jederman Zugriff bietet. Also nicht durch ein Passwort vor Zugriff gesichert ist)

Das automatisierte installieren einer Datei ist perse erstmal keine Straftat.

Wenn ihn sein Cousinchen an Ihrem Rechner arbeiten/gewähren lässt, ist das schon mal eine Zustimmung, das er irgendwas daran tut.

Letztlich spielt es auch keine rolle, ob und welche Kommandos (von Hand) über die Tastatur/Mouse gegeben werden, oder ob ein Tastaturemulator eine vorbereitete Sequenz ausführt.

In meiner aktiven Zeit als "ComputerTechniker" habe ich auch automatisierte Tests von einem Stick durchlaufen lassen und nicht explizit für jede Datenänderung eine Zustimmung eingeholt. "dort ist der Rechner tun sie..." eledigt ich hatte defakto Narrenfreiheit.

0
Lotos124 
Beitragsersteller
 16.07.2024, 10:48
@Erzesel

Danke! und dazu wird bei der bat Datei auch nur ein Order erstellt in dem dann weitere 32.000 Order erstellt werden...

0
Lotos124 
Beitragsersteller
 16.07.2024, 10:47

Bro wir pranken uns gegenseitig und gucken wer die beste Idee hat weil er 8 stunden von mir entfernt wohnt und wir beide Computer Freaks sind aber tut mir leit das du so reagieren musst

0