![]() |
поиск файла по маске и запись этого имени в переменную
Доброго дня!
Задача такая: нужен батник в котором происходит поиск файла по маске и запись его имени в переменную для последующей обработки Код:
if exist c:\sk* |
Если путь фиксирован и поиск по подкаталогам не требуется, то уберите ключ /s из команды dir:
Код:
for /f "Tokens=1* Delims=" %%F in ('dir /b c:\sk*') do set File=%%F |
Я бы предложил такое вот решение:
Код:
@Echo Off Естественно, кавычки в подпрограмме можно убрать (вызывайте for /? и смотрите как), только зачем это нужно? Если очень хочется, можно написать Set FileName=%1 Если Вы уверены, что файл один, то, конечно, можно написать коротенько Код:
FOR %%i IN ("c:\sk*") DO Set FileName="%%i" Код:
@Echo Off |
Спасибо, ребят!
здорово помогли. воспользовался способом который попроще (как раз то что надо) Код:
FOR %%i IN ("c:\sk*") DO Set FileName="%%i" |
мне нужно тоже самое Но что бы путь к файлам не выводился
мне подошёл первый вариант от megaloman командой >> files.txt я вывожу список файлов но там имеются пути к файлам...без них бы. |
Цитата:
Код:
@echo off |
А вообще-то то же самое сделает команда "DIR" (более того, даже будут учтены скрытые файлы):
Код:
@echo off . |
Georgio, тоже верно)
я пока копался в поисках кое как нашёл свой способ,до вашего ещё.(переделал под себя, он искал файлы 2015 года,имеющие дату изминения между 7 и 12 месяцем) Код:
for /f "tokens=1-3*" %%a in ('dir "%BINDIR%\%maskF%" /a-d /-c /t:c ^|findstr /RC:"^[0-9][0-9]\.0[0-9].*" /C:"^[0-9][0-9]\.1[0-2].*"') do echo %%d>>settingsSTART\SETgameF.ini Код:
Setlocal EnableDelayedExpansion Код:
"g:\1111111\22222\libraries\file1.jar";"g:\1111111\22222\libraries\file2.jar";"g:\1111111\22222\libraries\22222\file3.jar";"g:\1111111\22222\libraries\file.jar";"g:\.... и т. д. Код:
.\\libraries\io\netty\netty-all\file.jar\file.jar;.\\libraries2\file.jar;.\\libraries2\commons-file.jar; и начинается со .\\librarie наверно запутал) то есть мне нужно что бы g:\папка\папка\папка\папка\libraries\папка\папка\file1.jar слева весь путь до папки libraries был убран \libraries\папка\папка\file1.jar и в начале стояло .\\ .\\libraries\папка\папка\file1.jar |
ребят, подскажите скрипт, для поиска всех медиа-файлов на C:\\Users
система - win10. из телефонов скидывали всякую хрень в компьютеры. фото, видео, аудио |
krec,
запасайтесь куревом :) Код:
@echo off Код:
for /l %%m in (1,1,3) do call :# "%%r%%m%%" "%%n%%m%%" хотя, если поиск будет исключительно одного уровня ('dir /a-d/b "%d_in%\*.%%a" - без ключа /s, непосредственно в папке, не ниже) и расширений напишете сами штук с десяток, то и cmd быстро сработает. |
alpap, Спасибо.
МНе нужен найти все медиа - файлы под учетной записью. а тонее в папке C:\\Users первый скрипт мне больше понятен, чем второй. но там не понял в выводом.. он все файлыу будет копировать C:\Papka_out ? мне пойдет и в explorere просто, чтоб видеть сразу что это. А с копированием это очень долго и потом хрен поймешь что откуда. Что касается js.. ели они будут работать без дополнения, то можете предлагать рабочий вариант? Мне не принципиально на чем написан скрипт, хоть на С++, лишь бы работал нормально |
Цитата:
Цитата:
krec, поясните, что Вы планируете делать с полученным перечнем? Где, когда и как планируете исполнять пакетный файл/скрипт/сценарий? С какой периодичностью? От чьего имени? |
Iska,
Цитата:
полученные данные - для начала для просмотра, с дальнейшем удалением. То есть сначала собираем все, смотрим что к чему, если файлы не относяться к рабоче, то удаляем. А то захламляли всю систему своими личными фото/видео/мызыка контентом. |
krec, тогда таки рискну предложить Far Manager — переход в искомый каталог, поиск по набору масок, отправка результатов поиска на панель, последующий разбор. При наличии соответствующих плагинов смотреть-слушать содержимое файла можно прямо тут же, на панели, без запуска внешних приложений, и сразу же удалять-перемещать.
|
Iska, неа, с far вообще не лажу ))
|
Цитата:
- ставите путь в переменную какой нужен - вместо "copy" пишите "move" - ставите свой путь к папке, где будут создаваться папки с соответствующими именами медиа файлов и в таком случае из папки (которую вы указали в переменной) будут удалены все медиа файлы, но не просто удалены, а перемещены в конечную папку (тоже вами указанную) где вы спокойно можете лицезреть все эти файлы и делать с ними все что пожелаете. вот папка текущего пользователя, если непонятно: Код:
echo C:\Users\%Username% Код:
:: Вар1 |
alpap, ну а просто выводить нельзя? вот как ПОИСК в системе - помню, в XP в поиске набрал например .*Jpeg и в этом странице мне списком выводил все фалйлы с такой расширением. такое нельзя делать с скриптом, чтоб несколько расширений сразу выводил?
|
тогда делайте так:
Код:
where /r "Диск:\Папка" *.avi *.mp3 *.jpeg |
Цитата:
|
alpap,
ммм, можете показать полный код? это будет батник? Iska, я только за :) есть у вас есть готовый сценарий, то пожалуйста! |
Цитата:
батник? Ну думаю в батнике будет удобнее написать заранее сотню другую расширений, если они к тому же не будут меняться, для батника добавите еще ниже строку с словом PAUSE, вы же написали что достаточно только увидеть на экране искомые файлы. |
Время: 02:22. |
Время: 02:22.
© OSzone.net 2001-