Копирование одноимённых файлов
Ребят, посдкажите как сделать так, чтобы одноимённые файлы, которые я задал для поиска, сохранялись в папку все. А не только один файл.
Приведу пример : я задал найти на компьютере текстовый документ "Музыка", этот документ есть на диске "C" и на диске "D"... А в папку сохранения сохраняется только один файл. Надеюсь доходчиво объяснил)
|
Цитата:
Цитата BloodDick
Надеюсь доходчиво объяснил) »
|
Нет:
Цитата:
Цитата BloodDick
я задал найти на компьютере текстовый документ "Музыка" »
|
Как именно задали?
|
BloodDick, надо копировать с переименованием или с другим путем. Как ты видишь конечную реализацию?
|
@ECHO OFF
dir "C:\музыка.txt" "D:\музыка.txt"
S /B > c:\filelist.txt d:\filelist.txt f:\filelist.txt
md d:\13
for /F "tokens=*" %%i in (c:\filelist.txt) do copy /Y "%%i"
"D:\13\%%~nxi"
del c:\filelist.txt
del d:\filelist.txt
del f:\filelist.txt
чтобы например сохранялось: Музыка, музыка(1).
как то так.
а сохраняется только музыка. Тоесть один файл.
|
Код:
@echo off
setlocal
2>nul md "d:\folder"
pushd "d:\folder"
for %%i in (c d f) do (
for /f "tokens=*" %%j in (' dir /b /s /a-d "%%i:\Музыка.txt" ') do call:copy "%%j"
)
popd
goto:eof
:copy
if "%~dp1"=="d:\folder\" (goto:eof)
set "file="
if not exist "%~nx1" copy %1 && goto:eof
:check
set /a cnt+=1
set "ind=000%cnt%"
set "file=%~n1_[%ind:~-4%]%~x1"
if exist "%file%" goto:check
copy %1 "%file%"
Где d:\folder -- путь для копирования
|
спасибо, это всё понел, всё получилось. А где сдесь прописано где именно ищет? for %%i in (c d f) - это?
Ребят всё разобрался, благодарю)
|
Цитата:
Цитата BloodDick
А где сдесь прописано где именно ищет? »
|
for %%i in (c d f) -- диски на которых ищет
|
Можете ещё подсказать, что прописать чтобы искало файлы , по заданому слову. Тоесть чтобы находила и копировала, все файлы к примеру со словом "Яблоко".
|
BloodDick, для русского языка предусмотрено несколько кодировок.
|
Цитата:
Цитата Iska
BloodDick, для русского языка предусмотрено несколько кодировок. »
|
Хотябы одну из них)
|
Цитата:
Цитата BloodDick
все файлы к примеру со словом "Яблоко". »
|
В названии или с содержимым?
|
с содержимым.
к примеру название файла "Новый текстовый документ"
Но он скопировался в папку потому что у него есть слово которое я задал "Яблоко".
Как такое осуществить?
|
если искомое слово кириллическое, то тогда можно с помощью grep, т.к. findstr не находит
Код:
grep -rli "яблоко" *.*
findstr /m /s /i "test" *.*
|
Foreigner, в какой кодировке будет вестись поиск в:
Код:
grep -rli "яблоко" *.*
?
|
Iska, в той, в которой сохранен bat-файл. Если это UTF-8, надо BOM при сохранении отключать.
|
Anonymоus, спасибо, ясно. В текущей кодировке.
|
Время: 22:45.
© OSzone.net 2001-