Как сделать bat файл запускаемым с любого места файловой системы

У меня есть лабораторная работа на тему подготовки .bat файла, которая выглядит так

  1. Перейти на директорию выше относительно директории, в которой находится bat-файл и создать там директорию с именем ‘Practice0’.
  2. Создать в директории ‘Practice0’ поддиректорию ‘Test’ и в ней создать файл ‘about.me’, в котором в первой строке записать своё имя и фамилию, а во второй – название университета, который закончили или в котором учитесь.
  3. Переместить файл ‘about.me’ в директорию ‘Practice0’ и присвоить ему атрибут ‘read only’.
  4. Вывести информацию из файла ’about.me’ в виде: [Ваша имя и фамилия] учусь/учился в [название университета].

В отчете же сказано что

  1. Сделайте созданный bat-файл запускаемым с любого места файловой системы.

Вот пример моего кода в .bat файле

cd ..
md Practice0
cd Practice0
md Test
cd Test
NUL> about.me.txt
echo Name Surname >> about.me.txt
echo University >> about.me.txt
MOVE A:\lab1\Practice0\Test\about.me.txt A:\lab1\Practice0
pause

Вопрос заключается в 3 пункте, как сделать так, чтобы файл запускался из любого места, ведь при переносе файла я указываю полный путь до него, и если я перенесу батник куда-то в другое место, он выдает ошибку


Ответы (2 шт):

Автор решения: Alex

Сработало :)

move about.me.txt ../about.me.txt

Учитывая, что мы находимся в каталоге Test, мы можем скопировать файл "about.me.txt" в каталог уровнем выше, используя префикс "../", который и ссылается на родительский каталог.

→ Ссылка
Автор решения: Akina
@echo off

# перейти на диск, где находится батч-файл, в каталог "на этаж выше"
cd /d "%~dp0.."

# остальные команды

Если в батче надо получить диск/путь к батчу - соответственно используйте "%~dp0" (использовать в команде либо присвоить в переменную среды). Более подробно по выделению компонентов см. for /?. В батче %0 - это нулевой параметр комстроки, т.е. полное имя самого батча.

→ Ссылка