angel_lyucifer |
28-01-2017 00:08 2706843 |
Поиск слово в конце строки...
Привет всем, нужна ваша помощь.
Есть текстовый файл в него записывается строка
Код:
C:\Users\бухой\AppData\Roaming\Skype\.\
часть этой строки меняется буква диска, имя пользователя но есть неизменная часть эта
Код:
AppData\Roaming\Skype\
Мне нужно чтобы скрипт записывал в переменную все что находится после слово Skype\
Я пытался что то сделать но не получилась.
Код:
CHCP 1251 >nul
for /f "usebackq tokens=*" %%i in (`type "%~dp0Skype1.txt" ^|findstr.exe /i /E /c:"C:\Users\бухой\AppData\Roaming\Skype\" 2^>nul`) do set ProfileSkype=%%i
<Nul Set /P Echo=%ProfileSkype%>"%~dp0Skype2.txt"
exit
Помогите пожалуйста мне, очень надо...
|
Вы столкнулись с одним из многих багов "findstr.exe".
В данном случае баг — это невозможность обычным способом записать обратный слеш в конец поискового шаблона, так как этот слеш экранирует закрывающую кавычку.
Баг устраняется с помощью учетверения завершающего последнего обратного слеша (или же удлинения шаблона таким образом, чтобы этот слеш не был последним символом).
Код:
Код:
@echo off
for /f "usebackq tokens=*" %%i in (`
type "%~dp0Skype1.txt"^| findstr.exe /r /i /c:"[a-z]:\\Users\\[^\\][^\\]*\\AppData\\Roaming\\Skype\\\\"
`) do set "var=%%i"
set "ProfileSkype=%var:*\AppData\Roaming\Skype\=%"
<nul>"%~dp0Skype2.txt" set /p ="%ProfileSkype%"
exit /b
.
|
Код:
@Echo off
cls
Set "Txt=Z:\Box_In\qqqqqq.txt"
Set "FStr=\AppData\Roaming\Skype\"
FOR /F "usebackq Skip=2 delims=" %%s IN (`find "%FStr%" "%Txt%"`) DO Call Set "Str=%%s" &Call Set "Str=%%Str:*%FStr%=%%"
Echo %Str%
pause
|
angel_lyucifer |
28-01-2017 05:14 2706866 |
|
Время: 23:06.
© OSzone.net 2001-