109: (Default)
[personal profile] 109
что-то не могу сообразить. есть relative path, типа "..\..\my\special\folder\containing\generic\scripts", который в начале выполнения cmd скрипта надо добавить в path, чтобы оттуда можно было вызывать по-быстрому. но добавлять, естественно, надо absolute path, а не relative. как одно в другое превратить внутри командника?

и, уж раз зашла такая пьянка - как из программы, запущенной из комадника, передать что-нибудь обратно в этот командник? передать что-нибудь более осмысленное, чем errorlevel. под программой можно понимать что угодно - бинарник, powershell script, другой cmd script.

(no subject)

Date: 2007-10-11 04:57 am (UTC)
From: [identity profile] piggymouse.livejournal.com
Мы про cmd-шные батники говорим?

По первому пункту, если текущий каталог всё равно сменится, можно сделать что-то вроде:
cd "..\..\my\special\folder\containing\generic\scripts"
set PATH=%PATH%;%CD%

По второму пункту — через файлик.

(no subject)

Date: 2007-10-11 04:58 am (UTC)
From: [identity profile] piggymouse.livejournal.com
О, кстати новый cmd поддерживает pushd и popd.

(no subject)

Date: 2007-10-11 05:02 am (UTC)
From: [identity profile] 109.livejournal.com
о, сцуко, ты гений. мысль перейти туда меня не осенила. даже если каталог менять не надо, можно pushd/popd заюзать, чтобы вернуться.

а что потом с файлом делать? как его содержимое превратить в переменные cmd, которыми можно оперировать?

(no subject)

Date: 2007-10-11 06:50 am (UTC)
From: [identity profile] ban-dana.livejournal.com
Туда даже переходить не обязательно. Просто PATH=%PATH%;your_path и радуйся жизни. А передать можно через те же переменные окружения, если делать типа так:

======= sample begin =======

script1.bat:
-----------
echo in script 1
call script2.bat
echo %SCRIPT2_RESULT%

script2.bat:
-----------
echo in script2
set SCRIPT2_RESULT="result of script2"

======= sample end =======

в script1 необходимо вызывать второй скрипт через call, иначе для нег создастся новое окружение.

(no subject)

Date: 2007-10-11 09:17 am (UTC)
From: [identity profile] 109.livejournal.com
другой cmd script - да, оказалось что можно (я думал, что нельзя, поэтому записал его в тот же список). но я вызываю powershell script из cmd, и тут это уже не работает.

(no subject)

Date: 2007-10-11 09:21 am (UTC)
From: [identity profile] 109.livejournal.com
ах да, и первый совет тоже неправильный, спасибо. я же сказал, что у меня относительный путь, его нельзя просто добавить в path.

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags