===[ Siemudi pawa!!! ]=== #post-id: 5706-16-48 #original-date: 10.03.2016 Thu #original-time: 4:48 PM #original-day: 5706 #original-host: WinXP Prof SP3 (Build 2600) Мне всё было интересно, как в BAT файле взять вывод одной команды и запихнуть в переменную, как в Линуксе: > NEW_GUID=$(getnewguid) Я помнила, что в BAT файле это делается как-то извращённо, и наконец нашла. > The FOR command is the answer to innumerable questions where you > want to take the output of some command, store it in a variable > (%%G) then do something with the result. http://ss64.com/nt/for_cmd.html Короче, вот пример, как можно заюзать мою программу Get New GUID для создания имени какого-нибудь уникального файла. > @ECHO OFF > SETLOCAL > > SET FOR_CMD="C:\Program Files\HalfMoon Studios\AJPapps\Win32\Get New GUID\GetNewGUID.EXE" /NoLogo > > FOR /F "tokens=*" %%G IN ( '%FOR_CMD%' ) DO SET NEW_GUID=%%G > > ECHO %TEMP%\%NEW_GUID%.TXT Скрипт выводит что-то вроде такого: > C:\DOCUME~1\lk\LOCALS~1\Temp\{A6401C5E-E381-4971-B266-8BD92830A364}.TXT Если не брать хрень с «токенами» и «разделителями», возможности почти не ограничены. Можно писать VBS файлы в помощь и через CScript.EXE их запускать с перехватом полезной информации на выводе.