Ho provato a cercare un esempio di come farlo senza successo, incluso con autohotkey (sono molto un noob con AHK). Quello che sto cercando di fare è aprire una finestra di comando nella posizione di Explorer in cui mi trovo, eseguire un programma batch che si trova in una posizione ricercata dalla variabile ambientale "percorso", quindi chiudere la finestra di comando. Quello che ho provato in AHK è:
LWin & Return::
if WinActive("ahk_class CabinetWClass")
or WinActive("ahk_class ExploreWClass")
{
Send {Shift Down}{AppsKey}{Shift Up}
Sleep 10
Send w{enter}
Sleep 10
run fp.bat
Sleep 10
Send,{LAlt Down}{Space Down}{Space Up}{LAlt Up}{c Down}
}
else
{
run, cmd, C:\
}
return
La finestra di comando si apre correttamente, ma il file batch sembra essere eseguito al di fuori della finestra di comando aperta e la finestra di Explorer si chiude invece della finestra di comando.
Sono in esecuzione Windows 10 Pro
Sono abbastanza vicino a quello che sto cercando di realizzare con lo script AHK che ho incluso sopra. E quello che sto cercando di fare è avere la combinazione KB della "Chiave di Windows" e la "Chiave di ritorno" aprire una finestra di comando nella posizione corrente di Explorer in cui sto lavorando in una finestra della GUI di Explorer, eseguire un batch specifico file lì (nel mio caso fp.bat) e poi chiudi la finestra di comando precedentemente aperta restituendomi nella finestra della GUI Explorer dove ho iniziato.
Quello che sta accadendo con il mio script AHK è che la finestra di comando si apre con successo, ma quando il file batch viene eseguito, non viene eseguito nella finestra dei comandi aperta, ma viene eseguito come se fossi appena entrato dalla ricerca / run box (I vedere una finestra diversa lampeggiare velocemente e chiudere), e quindi la finestra di Explorer si chiude piuttosto che la finestra di comando - lasciandomi con una finestra di comando aperta nella posizione corretta, ma che non ha eseguito il file batch. È come se sto perdendo il focus dalla finestra di comando e alla finestra di Explorer quando eseguo il 2 ° e il 3 ° passo (esegui il file batch e poi chiudi la finestra dei comandi aperta).
Forse quello che sto cercando di fare non può essere fatto ...
cmd /c
Esegui comando e quindi terminare?