Команда cmd для перехода в подкаталог, в котором был открыт командный файл - PullRequest
1 голос
/ 23 февраля 2012

Так что название было запутанным.Позвольте мне рассказать вам о моих потребностях: я хочу открыть пакетный файл, который находится в c:\documents\test\

в этом пакетном файле, я хочу собрать имена в c: \ documents \ test \ dataи преобразовать его в текстовый файл.

Теперь простой способ сделать это будет:

CD c:\documents\test\data
dir/b/o:n > names.txt

, но моя проблема в том, что я хочу переместить папку "\ test" ивсегда иметь возможность вызывать имена в файле "\ data".

Поэтому это то, что мне действительно нужно:

CD [variable that says current location] + "\data"

, но я не знаю, как это сделать.Пожалуйста, объясните ваши ответы спасибо.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

%~dp0 - это местоположение командного файла (запустите FOR /? для получения дополнительной информации)

1 голос
/ 23 февраля 2012

. символ представляет текущий рабочий каталог ... делает

cd .\data

делать то, что вам нужно?

редактирование:

Итак, я вижу, что никто не ответил на ваш вопрос. Основываясь на текущем редактировании, вы захотите определить переменную среды Windows, которая будет содержать путь к папке, в которой находится ваша папка данных, и при перемещении части папки этого процесса потребуется обновить переменную среды, чтобы ваш пакетный скрипт мог найти ее соответствующим образом. .

поэтому, если вы переместили вашу папку данных в C: \ archive \ test \ data, вам понадобится какой-нибудь процесс для вызова командной строки с

SET BATCH_ARCHIVE_PATH="C:\archive\test"

тогда в вашем пакетном скрипте вы сделаете что-то вроде:

CD "%BATCH_ARCHIVE_PATH%\data"
dir/b/o:n > names.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...