|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
Переименовать файлы с определенным расширением на нескольких жестких дисках23.04.2017, 12:40. Показов 2160. Ответов 15
Метки нет (Все метки)
Всем привет! Помогите разобраться чет не получается(
Суть такая: Нужен батник чтобы он находил все файлы с расширением .xml на нескольких жестких дисках (допустим С и D) и переименовывал их в db.xml (при этом если в одной папке больше таких файлов чем один то добавлял им цифру типо db.xml db1.xml db2.xml ... и т.д.) Заранее огромное спасибо!
1
|
|
| 23.04.2017, 12:40 | |
|
Ответы с готовыми решениями:
15
Переименовать все файлы с расширением, указанным в параметре 1, в файлы с расширением, указанным в параметре 2 |
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
|
| 23.04.2017, 20:05 | |
|
Теоритически это выглядит наверно так.Надо сравнивать пути файла который переименовывается сейчас с путем предыдущего файла,и если они совпадают,то приписавать цифру.
0
|
|
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
| 23.04.2017, 20:10 [ТС] | |
|
а как в коде это реализовать?
0
|
|
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
|||||||||||
| 24.04.2017, 00:07 | |||||||||||
|
Примерно так.Но он работает на всю глубину одного каталога
У меня нет желания проверять это на всем компе(Извините). Возможно для вашего варианта будет работать этот код: Для дисков C и D
1
|
|||||||||||
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
| 27.04.2017, 12:52 [ТС] | |
|
Спасибо за ответ!
Но я проверил первый код но он не сработал( не поменял имя не одного файла( пробовал от админа и пихал сам батник с этим кодом в разные места тоже не помогло( а второй код срабатывает только на файлы в папках которые находятся на рабочем столе( независимо от куда запускаю батник, а от админа не сработал даже на файлы на рабочем столе( пробовал на Win 7 Макс x32 ХЗ может у меня руки крюки) Добавлено через 20 часов 44 минуты Можешь подсказать в чем проблема?
0
|
|
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
||||||
| 27.04.2017, 13:02 | ||||||
Сообщение было отмечено valli_vasia как решение
Решение
Я не знаю в чем проблема.ТАм путь указан каталога который проверять надо.Может быть Вы полность скопировали код и не менял ипуть,а может быть Вы не поменяли расширение docx на свое.ЧО угодно может быть.Это я про первый код где указана только одна папка.
Добавлено через 8 минут А во втором коде наверно ошибка есть.Попробуйте так.Надо поставить \ после двоиточая.ФОрум его почему то съедает.
1
|
||||||
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
| 28.04.2017, 09:19 [ТС] | |
|
Спасибо огромное добрый человек! добавил \ и все заработало)
Помоги еще чутка) у нас есть еще сетевые диски если народ будет туда скидывать файлы которые нужно переименовать то что во втором коде дописать чтобы и на них искал? Добавлено через 1 минуту Ой еще забыл спросить как добавить во втором коде переименовывание скрытых файлов? Очень благодарен за оказанную помощь!
0
|
|
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
||
| 28.04.2017, 13:11 | ||
|
0
|
||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
| 28.04.2017, 16:23 | ||||||
|
можно так:
0
|
||||||
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
||
| 28.04.2017, 21:51 [ТС] | ||
|
0
|
||
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
||||||
| 30.04.2017, 11:03 | ||||||
Сообщение было отмечено valli_vasia как решение
Решение
Тестил на одном каталоге.Все работает.ВОт код на весь диск.Не тестил)Это вместе со скрытыми файлами.
чтоб Вас....Работает на весь диск....
1
|
||||||
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
| 30.04.2017, 16:57 [ТС] | |
|
0
|
|
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
|
| 30.04.2017, 17:18 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
| 30.04.2017, 17:48 [ТС] | |
|
А почему не работает другой код вставленный после этого?
То есть создаю батник вот с таким содержимым: @echo off Setlocal EnableDelayedExpansion for %%a in (c:\,d:\) do (call :2 "%%a") exit /b :2 for /f "delims=" %%A in ('dir "%~1*.xml" /a:a /b /s') do ( call :1 "%%~dpA" ) exit /b :1 if "!b!"=="%~1" (exit /b) else (pushd "%~1"&&for /f "delims=" %%B in ('dir *.xml /a:a /b') do ( echo %%~aB|findstr h&&attrib -h "%%B"&&ren "%%B" "db!m!.xml"&&attrib +h "%%~dpBdb!m!.xml"&&set /a m+=1||ren "%%B" "db!m!.xml"&&set /a m+=1 ) ) set "b=%~1" set m= popd exit /b @echo off SetLocal EnableExtensions call :msg "Все файлы переименованы \nМожете запускать программу" Exit /B :msg chcp 866 >NUL& for /F "delims=" %%a in ("%~1") do chcp 1251 >NUL& call :convert "%%~a"& chcp 866 >NUL& Exit /B :convert set "text=%~1" (@for %%a in ("%text:\n=" "%") do @echo.%%~a) | msg * Exit /B И отрабатывает только первый код с переименованием а второй на вывод окна не срабатывает. Хотя по отдельности эти два кода в разных батниках работают на ура. Чет я совсем нуб(
0
|
|
|
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
|
|
| 01.05.2017, 08:35 | |
Сообщение было отмечено valli_vasia как решение
Решение
Попробуй в четвертой строке написать goto 3,а в своем коде уберите первые две строки и вместо них запишите :3
1
|
|
|
2 / 2 / 0
Регистрация: 09.12.2015
Сообщений: 26
|
|
| 01.05.2017, 11:38 [ТС] | |
|
Спасибо огромнейшее!!! все заработало идеально!
0
|
|
| 01.05.2017, 11:38 | |
|
Помогаю со студенческими работами здесь
16
Вывод информации о существующих жестких дисках Как вывести информацию о жестких дисках, подключенных к системе, в текстовый файл? На дисках появляются файлы с расширением exe и pif OpenFileDialog, отображать только файлы с определенным расширением Переименовать все файлы указанного каталога с расширением на заданную букву Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|