2

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

Например, когда у меня есть три папки в моей текущей папке:

  • FOLDERONE
  • FOLDERTWO
  • AnotherFolder

Всякий раз, когда я набираю "An" в качестве аргумента, я хочу, чтобы пакетный файл проходил через папки в текущей папке и получал имя первой папки, которая начинается с указанной строки. В этом случае это будет "AnotherFolder".

Я знаю, как сделать это в C #, но я новичок в пакетных файлах. Может кто-нибудь помочь мне с этим? Извините, если это нубский вопрос, но я действительно не могу заставить его работать.

Немного контекста к этому сценарию: в настоящее время у меня есть папка для моих проектов, которая содержит огромное количество папок, которые находятся под контролем версий (TortoiseSVN). Чтобы мне было проще, я создал командный файл, в котором мне нужно всего лишь ввести svnlog "some folder name" чтобы показать журнал SVN этого проекта. Текущая партия:

cd C:/Projects/
SET p=C:/Projects/
SET a=%1
SET pa=%p%%a%
TortoiseProc.exe /command:log /path:%pa%

1 ответ1

2

Хорошо, я уже понял это. Смотрите командный файл ниже.

cd C:/Projects/
SET p=C:/Projects/
SET a=%1
for /D %%x in (%a%*) do if not defined f set "f=%%x"
SET pa=%p%%f%
TortoiseProc.exe /command:log /path:%pa%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .