CMD/BAT - Поиск файла по введенному имени

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

Re: CMD/BAT - Поиск файла по введенному имени

Сообщение Foreigner »

Цитата gora:



Боюсь, что могут пролезть и файлы с маской в расширении (test.123)
CMD/BAT - Поиск файла по введенному имени




Угу (в принципе, расширение можно попытаться отсечь по точке. Но что делать, если точка есть и в имени?). И в самом пути, если с «dir /s …».



Foreigner, работает.
Аватара пользователя
Ceval

Re: CMD/BAT - Поиск файла по введенному имени

Сообщение Ceval »

А как теперь эти файлы скопировать:


Цитата:



@Echo off

set Ftp_vl="D:\FTP"

set /p sDigits=Enter digits for mask:



if defined sDigits (

for /f "delims=" %%i in ('dir /s /d /a "e:\ast\*%sDigits%*.*"') do echo %%i)

...

xcopy /-y "%%i" "%ftp_vl%"

...



выдает ошибку




Цитата:



E:\tets\123>10.bat

ast559.pdf ast559.xls

2 файлов 84*386 байт

Всего файлов:

2 файлов 84*386 байт

Не найден файл: %i

Скопировано файлов: 0.
Аватара пользователя
gora

Re: CMD/BAT - Поиск файла по введенному имени

Сообщение gora »

Цитата Ceval:



А как теперь эти файлы скопировать
CMD/BAT - Поиск файла по введенному имени






Код:

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

@Echo off
Setlocal EnableDelayedExpansion
Set FDir=e:\Temp\1
Set Ftp_vl=e:\Temp\FTP
If Not Exist "%Ftp_vl%" MD "%Ftp_vl%"
Set /P Maska="В ведите номер: "
If Defined Maska (
	For /F "tokens=* delims=" %%i In ('Dir /B /A:-D "%FDir%\*.*"') Do (
		Set ti=%%~ni
		If Not !ti!==!ti:%Maska%=! (
			Echo %%i
			Copy "%FDir%\%%~i" "%Ftp_vl%">Nul
		)
	)
)
Pause>Nul
Аватара пользователя
Ceval

Re: CMD/BAT - Поиск файла по введенному имени

Сообщение Ceval »

gora, спасибо, мне б что-то в таком плане


Цитата:



@Echo off

set Ftp_vl="D:\FTP"

set /p mask=Enter digits for mask:



if defined sDigits (

for /f "delims=" %%i in ('dir /s /d /a "e:\ast\rt*%mask*.*"') do echo %%i)

set /p answer= Скопировать (y/n)?

if /i '%answer%'=='y' xcopy /-y "%%i" "%ftp_vl%"

else

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

Re: CMD/BAT - Поиск файла по введенному имени

Сообщение Ceval »

HTML код:

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

 .... ...
 for /f "delims=" %%i in ('dir /b /s "D:\%mask_vl%\result_%mask%.zip"') do xcopy /y "%%i" "X:!Результаты"
... .  ..



заменяешь на другую, все прекрасно копируется



И подскажите как еще можно реализовать запись всех действий (там будет и ввод команд в консоль, и несколько копирований и перемещений ) в лог файл, что-то вроде этого:



set $log=D:\copyfile.log

начало записи лог файла

.... ввод команд в консоль

..... копирование ......

ввод команд ......

...... перемещения .....

конец записи в лог-файл
Ответить

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