|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименовать файлы в папке |
|
CMD/BAT - [решено] Переименовать файлы в папке
|
Старожил Сообщения: 263 |
Профиль | Отправить PM | Цитировать Где то раньше видел тему там что то похожее про файлы архива ни как немогу найти
вообщем в папке remont есть куча фотографий с расширением .jpg вот надо все их переименовать в image1.jpg, image2.jpg и так далее... это не работает ... |
|
Отправлено: 15:13, 09-02-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:46, 09-02-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 717
|
Профиль | Отправить PM | Цитировать Похожая задача.
Нужно в папке и подпапках позаменять все файлы пустышками с таким же названием, как у оригинала. Использую такой скрипт @ECHO OFF SETLOCAL EnableExtensions EnableDelayedExpansion SET DirName="%~dp0test" IF EXIST 1.txt DEL 1.txt FOR /F "DELIMS=" %%B IN ('DIR !DirName! /B /S /A-D') DO ( SET /A N+=1 copy "%~dp0file_from.jpg" %%B /Y ) Работает, но если в пути файла есть спецсимволы (пробел например), то такая папка игнорируется. Что можно поправить, чтобы работало как надо? Снимается вопрос copy "%~dp0file_from.jpg" "%%B" /Y |
Отправлено: 19:26, 04-01-2020 | #3 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать mariolast,
Если это не злокозненное злодейство
А неувядающий :) скрипт Iska столетней давности я бы переписал в виде
@Echo Off Set "BoxIn=remont" Set "OldName=ima*" Set "Ext=jpg" Set "NewName=image" Set /A i=0 FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%OldName%.%Ext%" /B /A:-D`) Do If /I "%%~xf"==".%Ext%" Ren "%BoxIn%\%%f" "%%~nxf.~tmp" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%OldName%.%Ext%.~tmp" /B /A:-D`) Do ( Set /A i+=1 Call Ren "%BoxIn%\%%f" "%NewName%%%i%%.%Ext%" ) Exit /B Set "OldName=*" |
------- Последний раз редактировалось megaloman, 04-01-2020 в 20:38. Отправлено: 19:58, 04-01-2020 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата mariolast:
Попробуйте так: Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion set sSourceFolder=%~1 call :GetTemporaryName if defined sSourceFolder ( if exist "%sSourceFolder%\." ( md "%TemporaryName%" >nul robocopy.exe /create /e /move "%sSourceFolder%" "%TemporaryName%" "*.*" >nul robocopy.exe /create /e "%TemporaryName%" "%sSourceFolder%" "*.*" rd /s /q "%TemporaryName%" ) else ( echo Can't find source folder [%sSourceFolder%]. exit /b 2 ) ) else ( echo Usage: %~nx0 ^<Source folder^> exit /b 1 ) endlocal exit /b 0 rem ========================================================================== rem ========================================================================== rem Функция GetTemporaryName() rem rem Серый форум / CMD/BAT: генерация пути для временного файла или папки rem (http://forum.script-coding.com/viewtopic.php?id=6259) rem ========================================================================== :GetTemporaryName setlocal enableextensions enabledelayedexpansion :NextName set sTempName=%temp%\temp%random%.tmp if exist "%sTempName%" goto :NextName set sProcName=%~0 endlocal & set %sProcName:~4%=%sTempName% exit /b 0 rem ========================================================================== Путь к целевому каталогу задаётся параметром пакетного файла (также можно просто перетянуть целевую папку на пакетный файл в Проводнике). |
||
Отправлено: 01:11, 05-01-2020 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Нужно найти все файлы *.log в папке dir и подпапках и заменить на файлы нулевой длины | dclxvi | Скриптовые языки администрирования Windows | 4 | 04-07-2012 21:28 | |
Переименовать файлы по маске и времени создания | porokh | AutoIt | 1 | 18-08-2011 11:13 | |
Разное - Проблема: не могу переименовать папки и файлы | ledibri | Microsoft Windows Vista | 7 | 09-12-2010 15:33 | |
Интерфейс - Переименовать файлы при совпадении | Папуас | Скриптовые языки администрирования Windows | 2 | 19-10-2010 23:56 | |
Как переименовать системные файлы | Centrinar | AutoIt | 13 | 11-07-2010 21:54 |
|