Я пишу сценарий, в котором я получу имя файла в качестве параметра. Файл будет абсолютным. (В идеале решение будет поддерживать относительные файлы, но я могу жить только с абсолютным). Это неизвестно, если файл уже существует.
Я хочу получить букву диска с файлом.
Пример:
myScript.bat C:\exampleFolder\somefile.txt D:\someOtherFolder\differentfile.txt
myScript.bat:
echo First argument: %1
echo Second argument: %2
REM Its the next line I have trouble with.
echo Drive letter of second argument: %MAGIC%2
ожидаемый результат:
First argument: C:\exampleFolder\somefile.txt
Second argument: D:\someOtherFolder\differentfile.txt
Drive letter of second argument: D:
Контекст: я хочу написать скрипт, который выполняет копирование некоторых файлов. Но файл может появиться в месте назначения только сразу. Как только он создан, он уже должен быть завершен. Поэтому я хочу написать скрипт, который копирует файл в TARGET_DRIVE\tmp
и затем перемещает его в место назначения.
Я думал о передаче буквы диска в качестве третьего аргумента. Но это кажется громоздким.