Windows еквівалент $ експорту


76

Я намагаюся слідувати деяким інструкціям щодо створення каталогу за допомогою командного рядка. Інструкції:

$ export PROJ_HOME=$HOME/proj/111
$ export PROJECT_BASEDIR=PROJ_HOME/exercises/ex1
$ mkdir -p $PROJ_HOME

Це команди windows? Чи є еквіваленти вікон?


4
Ні, це команди * nix. Еквівалентом Windows для mkdir є mkdir.
Ганс Пассант,

Відповіді:


125

Для перекладу вашого командного сценарію * nix у стиль Windows / command batch він буде виглядати так:

SET PROJ_HOME=%USERPROFILE%/proj/111
SET PROJECT_BASEDIR=%PROJ_HOME%/exercises/ex1
mkdir "%PROJ_HOME%"

mkdir у вікнах не має параметра -p: з MKDIR /? довідка:

MKDIR створює будь-які проміжні каталоги у шляху, якщо це необхідно.

що в основному є тим, що робить mkdir -p (або --parents для пуристів) на * nix, взято з керівництва


1
Здається, це не працює в Windows10, мені потрібно було зробити це вручну.
Shadoweb

2
Просто перевірено в Windows10 і працює для мене @Shadowbob, але, можливо, у вас є пробіл в одному з імен каталогів?
Рене

1
чи будуть ці змінні середовища постійними, використовуючи 'SET' у вікнах? Я знаю, що при експорті вони будуть тимчасовими, якщо ви не додасте їх до свого ~ / .bashrc
user137717

3
@ user137717 вони тимчасові. Використовуйте setxкоманду, якщо ви хочете змінити / додати цю змінну до налаштувань системи або користувача та зберегти їх.
оновлення

6

У командному рядку Windows немає еквівалентного твердження для експорту. У Windows середовище копіюється, тому при виході з сеансу (із викликаного командного рядка або виконуваного файлу, що встановлює змінну) змінна в Windows втрачається. Ви можете встановити його в реєстрі користувачів або в машинному реєстрі через setx, але ви не побачите його, якщо не запустите новий командний рядок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.