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?

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.