Текущий каталог — в переменную в CMD-скриптах

Вот потребовался мне на днях сабж.
Решение оказалось не совсем очевидное. Вот примерчик, может, кому ещё пригодится.

FOR /F "usebackq tokens=*" %%i IN (`cd`) DO set CurrentDir=%%i
ECHO %CurrentDir%

Обратите внимание на обратные кавычки. В этом примере в первой строке вывод команды cd (длинный путь, возможно, содержащий пробелы, без окаймляющих кавычек) записывается в переменную %CurrentDir%, каковая затем благополучно используется во второй строке скрипта.

UPDATE: Всё гораздо проще. Есть стандартная переменная %CD%

комментария 3 to “Текущий каталог — в переменную в CMD-скриптах”

  1. Чернов Александр Says:

    только вот %cd% выводит путь лишь до первого пробела. и кавычки не помогают 😦

  2. SilverCloud Says:

    Только что проверил в 64-битной Семёрке. Вот такой cmd-шник:

    set test=%cd%
    pause
    echo %test%

    вывел:

    Microsoft Windows [Version 6.1.7601]
    (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

    C:\Users\Phil>cd "c:\Temp\Папка\с длинным\именем\с пробелами"

    c:\Temp\Папка\с длинным\именем\с пробелами>Test.cmd

    c:\Temp\Папка\с длинным\именем\с пробелами>set test=c:\Temp\Папка\с длинным\имен
    ем\с пробелами

    c:\Temp\Папка\с длинным\именем\с пробелами>pause
    Для продолжения нажмите любую клавишу . . .

    c:\Temp\Папка\с длинным\именем\с пробелами>echo c:\Temp\Папка\с длинным\именем\с
    пробелами
    c:\Temp\Папка\с длинным\именем\с пробелами

    c:\Temp\Папка\с длинным\именем\с пробелами>

  3. www Says:

    set test=%cd%
    pause
    echo «%test%»

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s


%d такие блоггеры, как: