Как сохранить последние ДВЕ папки моего текущего каталога в переменной для моего файла .bat - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь создать FTP с использованием файла .bat. Теперь местоположение, из которого я беру, будет частично соответствовать местоположению на главном диске. Я делаю mget * из этого места.

Пример: \...\...\Folder1\Folder2

Теперь в моей системе есть папка \....\....\Folder1\Folder2

Я хочу сопоставить их со сценарием. Прямо сейчас я пытаюсь использовать

SET MYDIR=%cd%

set MYDIR1=%MYDIR:~41,7%

for %%f in (%MYDIR1%) do set myfolder=%%~nxf
echo %myfolder%

Это дает мне последнюю папку, (Folder2). Однако папки будут разными, я помещаю файл .bat в разные папки, чтобы сделать одно и то же, поэтому я хочу, чтобы он соответствовал разным каталогам независимо от размера имени папки, поэтому я не могу использовать жестко закодированный. Тогда я подумал, может быть, получить имя folder2 и затем удалить его из строки, но у меня возникли проблемы при удалении переменной с текстом folder2 из строки. Я могу удалить конкретную строку из текста, однако она не будет знать из одной папки в другую, какой будет эта строка.

Предложения? В основном я хочу, чтобы последние ДВЕ папки были переменными, чтобы я мог передать их в свой скрипт, который будет извлекаться с сервера.

1 Ответ

0 голосов
/ 11 января 2019

Вы можете получить имена дочерних и родительских каталогов текущего каталога с помощью команды FOR.

for %%G in ("%cd%\.") do set child=%%~nxG
for %%G in ("%cd%\..") do set parent=%%~nxG
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...