Lanzar un acceso directo usando un archivo por lotes


12

Aquí está el problema.

Tengo un acceso directo en aproximadamente 260 computadoras ubicadas en la misma carpeta que a continuación;

"c: \ documentos y configuraciones \ todos los usuarios \ escritorio \ Agente remoto 1234 .lnk"

Lo único que cambia en el acceso directo es el número. ¿Hay alguna forma de usar un comodín en un archivo por lotes para iniciar el acceso directo en lugar de tener que especificar el nombre completo del archivo?

Respuestas:


6

Puede usar for o forfiles para esta tarea. Forfiles es más flexible, pero podría no funcionar correctamente en versiones anteriores de Windows.

por

Desde un símbolo del sistema:

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

En un archivo por lotes:

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"

Forfiles recorre todos los archivos en la ruta especificada /Pque coinciden con la máscara especificada /My ejecuta el comando especificado en /C. Aquí @pathestá la ruta completa del archivo.

Normalmente, usaríamos el comando start "" "Remote Agent 1234.lnk"para iniciar el acceso directo. Como start es un comando interno, debemos llamarlo en un nuevo shell ( cmd /C). \"\"son solo comillas dobles escapadas, ya que la cadena completa ya está citada


forfiles / P "C: \ Documents and Settings \ All Users \ Desktop" / M "Remote agent * .lnk" / C "cmd / C start \" \ "@path" enumera los archivos en la carpeta pero no abre el atajo.
ghost3h

Eso es extraño. Hacer eco de los nombres de los archivos es la acción predeterminada, pero el /Cmodificador los anula. ¿Qué versión de Windows?
Dennis

Xp Professional, también enumera todas las extensiones de archivo, lo que supongo que no es normal.
ghost3h

No parece que sea compatible con Dennis, de nuevo solo hace eco de los archivos dentro del directorio desde el que se ejecuta. ¡Gracias por la ayuda hasta ahora!
ghost3h

Acabo de encontrar una fuente que dice que algunas versiones anteriores de forfiles usan -conmutadores en lugar de /(muy atípicas para Windows). Quizás esto funcione:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
Dennis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.