CMD/BAT - [решено] findstr помощь

Аватара пользователя
Iska

Re: CMD/BAT - [решено] findstr помощь

Сообщение Iska »

Цитата firstarey:



Iska, выбираются то все, а имя берем одно, с ним работаем, перемещаем, потом снова выбираем все...

в данном варианте ЭТО работает. в моем случае актуальна фраза "плохой код, который работает, лучше чем красивый код, который не работает"

(это я к тому, что возможно Вы увидите тут какие либо не совсем рациональные пути решения)
CMD/BAT - [решено] findstr помощь




Вы правы, вижу. Дело не в красоте, а в ненужных костылях.




Цитата firstarey:



Привожу весь батник Файл 97239, дабы было понятней как это происходит.
CMD/BAT - [решено] findstr помощь




«Страница не найдена».
Аватара пользователя
firstarey

Re: CMD/BAT - [решено] findstr помощь

Сообщение firstarey »

Цитата Iska:



«Страница не найдена».
CMD/BAT - [решено] findstr помощь




странно, у меня предлагает сохранить архив.



еще разок:

Файл 97252


и на всякий случай:

http://anonymousdelivers.us/44622
Аватара пользователя
Iska

Re: CMD/BAT - [решено] findstr помощь

Сообщение Iska »

Цитата firstarey:



еще разок: тест.zip
CMD/BAT - [решено] findstr помощь




Теперь доступен.
Аватара пользователя
firstarey

Re: CMD/BAT - [решено] findstr помощь

Сообщение firstarey »

firstarey, моя идея была изложена выше несколько раз: нет нужды в «ручном» цикле по «goto :poisk», поскольку «findstr.exe /m "
Аватара пользователя
sov44

Re: CMD/BAT - [решено] findstr помощь

Сообщение sov44 »

Подскажите, как избавится от сообщения "FINDSTR: // пропускается"
http://savepic.org/3898391.jpg




Код:

Код: Выделить всё

@echo off
:: Папка, в которой нужно искать
set "sDir=c:\2\евеве"
:: Параметрами проставить нужные расширения
for /r "%sDir%" %%a in (.) do call:1 "%%~dpna" zip
pause
goto:eof
:1
if not "%2"=="" (
for /f "tokens=1* delims=:" %%i in (
   'dir /b /a-d "%~1\*.%2" 2^>nul ^| findstr /i/n "\.%2$" ^| findstr /vc:"%~n1" 2^>Nul'
) do echo ren "%~1\%%j" "%~n1-%%i.%2" 2>nul
shift /2
goto 1
)
Аватара пользователя
sov44

Re: CMD/BAT - [решено] findstr помощь

Сообщение sov44 »

Необходимо вывести имена файлов, начинающиеся с цифры или с буквы в нижнем регистре?



Код:

Код: Выделить всё

for /f "delims=" %%a in ('dir /b /s /a-d "%windir%\Installer\*" ^|findstr /rc:"[0-9]*.msp"') do echo %%a
Аватара пользователя
Iska

Re: CMD/BAT - [решено] findstr помощь

Сообщение Iska »

Код:

Код: Выделить всё

/rc:"[0-9]*.msp"

означает: найти строки, содержащие любое количество подряд идущих цифр, за ними один любой[/i] символ, затем символы «msp».
Аватара пользователя
sov44

Re: CMD/BAT - [решено] findstr помощь

Сообщение sov44 »

Цитата Iska:



означает: найти строки, содержащие любое количество подряд идущих цифр, за ними один любой символ, затем символы «msp».
CMD/BAT - [решено] findstr помощь




Фактически выводит имена файлов, начинающихся как с цифр, так и с букв.

Iska, как насчёт решения ТЗ в посте 17?
Аватара пользователя
Iska

Re: CMD/BAT - [решено] findstr помощь

Сообщение Iska »

Цитата sov44:



Необходимо вывести имена файлов, начинающиеся с цифры или с буквы в нижнем регистре
CMD/BAT - [решено] findstr помощь




sov44, для Вашего случая — например, так:



Код:

Код: Выделить всё

@echo off
setlocal enableextensions enabledelayedexpansion
for /f "delims=" %%i in (
	'dir /b /s /a:-d "*.*" ^| findstr.exe /r /c:"^.*\\[0-9a-z][^\\]*\.[^\.\\]*$"'
) do echo %%i
endlocal
exit /b 0


Цитата sov44:



Фактически выводит имена файлов, начинающихся как с цифр, так и с букв.
CMD/BAT - [решено] findstr помощь




А что Вы хотели — маска ищет в строках, а у Вас строки — полные пути, а не только имена файлов.



И, ещё например, такое:



Код:

Код: Выделить всё

D:\bla-bla-bla Вася Пупкин 123 ха-ха 3рmsp.exe

вполне уложится в указанную Вами маску.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»