Avvia un collegamento usando il file batch


12

Ecco il problema

Ho un collegamento su circa 260 computer situati nella stessa cartella di seguito;

"c: \ documenti e impostazioni \ all users \ desktop \ Remote agent 1234 .lnk"

L'unica cosa che cambia sul collegamento è il numero. Esiste un modo per utilizzare un carattere jolly in un file batch per avviare il collegamento invece di dover specificare il nome file completo?

Risposte:


6

È possibile utilizzare for o forfile per questa attività. Forfiles è più flessibile, ma potrebbe non funzionare correttamente su versioni precedenti di Windows.

Per

Da un prompt dei comandi:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

In un file batch:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

forfiles

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

I file Forfile attraversano tutti i file nel percorso specificato in /Pcorrispondenza della maschera specificata /Med eseguono il comando specificato in /C. Ecco @pathil percorso completo del file.

Normalmente, useremmo il comando start "" "Remote Agent 1234.lnk"per avviare il collegamento. Poiché start è un comando interno, dobbiamo chiamarlo in una nuova shell ( cmd /C). \"\"sono solo le doppie virgolette di escape, poiché l'intera stringa è già citata.


forfiles / P "C: \ Documents and Settings \ All Users \ Desktop" / M "Remote agent * .lnk" / C "cmd / C start \" \ "@path" elenca i file nella cartella ma non apre il file scorciatoia.
ghost3h,

È strano. L'eco dei nomi dei file è l'azione predefinita, ma l'opzione ha la precedenza su /Cquella. Quale versione di Windows?
Dennis,

Xp Professional, elencando anche tutte le estensioni dei file che presumo non siano normali?
ghost3h,

Non sembra il suo Dennis supportato, ancora una volta fa eco ai file all'interno della directory da cui è stato eseguito. Grazie per l'aiuto finora!
ghost3h,

Ho appena trovato una fonte che dice che alcune versioni precedenti di forfile usano -per switch invece di /(molto atipico per Windows). Forse questo funziona:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
Dennis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.