Uruchom skrót za pomocą pliku wsadowego

12

Oto problem.

Mam skrót na około 260 komputerach znajdujących się w tym samym folderze, co poniżej;

„c: \ dokumenty i ustawienia \ wszyscy użytkownicy \ desktop \ Agent zdalny 1234 .lnk”

Jedyną rzeczą, która zmienia się na skrócie, jest liczba. Czy istnieje sposób użycia symbolu wieloznacznego w pliku wsadowym do uruchomienia skrótu zamiast konieczności podawania pełnej nazwy pliku?

ghost3h
źródło

Odpowiedzi:

6

Można użyć do lub forfiles dla tego zadania. Forfiles jest bardziej elastyczny, ale może nie działać poprawnie w starszych wersjach systemu Windows.

Dla

Z wiersza polecenia:

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

W pliku wsadowym:

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

Forfile

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

Forfiles przechodzi przez wszystkie pliki w ścieżce określonej w /Ppasującym do maski określonej w /Mi wykonuje polecenie określone w /C. Oto @pathpełna ścieżka do pliku.

Zwykle używamy polecenia, start "" "Remote Agent 1234.lnk"aby uruchomić skrót. Ponieważ start jest poleceniem wewnętrznym, musimy go wywołać w nowej powłoce ( cmd /C). \"\"są tylko znakami podwójnego cudzysłowu, ponieważ cały ciąg jest już cytowany.

Dennis
źródło
forfiles / P "C: \ Documents and Settings \ All Users \ Desktop" / M "Agent zdalny * .lnk" / C "cmd / C start \" \ "@path" wyświetla listę plików w folderze, ale nie otwiera skrót.
ghost3h
To dziwne. Echoing nazw plików to akcja domyślna, ale /Cprzełącznik zastępuje to. Która wersja systemu Windows?
Dennis
Xp Professional, lista wszystkich rozszerzeń plików, które, jak zakładam, nie są normalne?
ghost3h
Nie wygląda na obsługiwanego Dennisa, po prostu echo plików w katalogu, z którego jest uruchamiany. Dzięki za pomoc do tej pory!
ghost3h
Właśnie znalazłem źródło mówiące, że niektóre starsze wersje forfiles używają -przełączników zamiast /(bardzo nietypowe dla Windows). Może to działa:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
Dennis