Как отфильтровать строку в командном файле? - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу обработать строку, такую ​​как project_Name_-_sofeware_Name.txt в project_Name.txt, поэтому я написал для запуска скрипт, подобный следующему:

set temp1=%~n1
echo %temp1:-*=%

Но вывод летучей мыши все еще был project_Name_-_sofeware_Name.txt.

Я также написал еще один bat-файл, чтобы получить имя папки:

:GetFolderName
set temp2=%temp1%
set temp1=%temp2:*\=% 
If Not %temp1%==%temp2% Goto GetFolderName

И строка вывода на данный момент соответствует ожиданиям.

Это также странно,На мой взгляд, это должно быть имя_папки после запуска temp1=%temp2:*\=%.

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете сделать это очень простым способом:

@echo off

set "temp1=project_Name_-_sofeware_Name.txt"

set "dummy=%temp1:_-_=" & set "temp2=%"

echo %temp2%

Дополнительная информация в Разделить строку со строкой в ​​качестве разделителя .Обратите внимание на комментарий при таком ответе ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...