|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Перенос файлов + переименование |
|
CMD/BAT - Перенос файлов + переименование
|
Новый участник Сообщения: 13 |
Помогите, пожалуйста, со скриптом. Нужен скрипт для переноса и переименования файлов, если такой файл присутствует в целевом каталоге. Поиск по форуму результатов не дал, ничего не работает, что нашла. Ошибки. Может, потому что Виндовс 10? Я сама не сильно разбираюсь, поэтому прошу помощи. Буду крайне благодарна
|
|
Отправлено: 21:34, 20-11-2019 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 22:12, 20-11-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
Отправлено: 22:58, 20-11-2019 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать CMD. Переносит указанные файлы из папки и её подпапок. При наличии дубликата, к имени дописывается номер. Максимальный номер 999 (=1000-1). Можете в параметре N число нулей (не равное нулю) в этом максимуме менять в любую сторону
@Echo Off Set "FileIn=Z:\Box_In\*.*" Set "BoxOut=Z:\Box_Out" Set /A N=1000 For /F "usebackq delims=" %%f In (`xcopy "%FileIn%" "%BoxOut%\" /S /L /F /Y`) Do ( Set "Out=%%f" Call :ReMove %N% "%%Out: -> =" "%%" ) Exit /B 0 :ReMove If "%~3"=="" Exit /B 0 Set /A i=%1 Set "FileOut=%~3" If Not Exist "%~dp3" Md "%~dp3" :Begin If Not Exist "%FileOut%" >nul Move %2 "%FileOut%" &Exit /B Set /A i+=1 Set "FileOut=%~dpn3_%i:~1%%~x3%" GoTo :Begin Exit /B Если подпапки трогать не надо, то:
@Echo Off Set "FileIn=Z:\Box_In\*.*" Set "BoxOut=Z:\Box_Out" Set /A N=1000 For %%f In ("%FileIn%") Do Call :ReMove %N% "%%~f" "%BoxOut%\%%~nxf" Exit /B 0 :ReMove If "%~3"=="" Exit /B 0 Set /A i=%1 Set "FileOut=%~3" If Not Exist "%~dp3" Md "%~dp3" :Begin If Not Exist "%FileOut%" >nul Move %2 "%FileOut%" &Exit /B Set /A i+=1 Set "FileOut=%~dpn3_%i:~1%%~x3%" GoTo :Begin Exit /B |
------- Последний раз редактировалось megaloman, 21-11-2019 в 16:30. Отправлено: 15:57, 21-11-2019 | #4 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать без ограничений по кол-ву:
1. Не лезем в подпапки @echo off set "d_in=C:\papka_in" set "d_out=C:\papka_out" for /f "delims=" %%a in ('dir /a-d/b "%d_in%"') do call :l "%d_out%" "%d_in%\%%a" exit :l setlocal pushd "%~1" if not exist "%~n2%n%%~x2" (>nul copy "%~2" "%~n2%n%%~x2"& del "%~2") else (set /a n+=1& goto l) popd endlocal exit /b @echo off set "d_in=C:\papka_in" set "d_out=C:\papka_out" for /f "delims=" %%a in ('dir /a-d/b/s "%d_in%"') do call :l "%d_out%" "%%a" exit :l setlocal pushd "%~1" if not exist "%~n2%n%%~x2" (>nul copy "%~2" "%~n2%n%%~x2"& del "%~2") else (set /a n+=1& goto l) popd endlocal exit /b если достаточно копировать. а не перемещать, то из стр.11 убрать: & del "%~2" |
|
Отправлено: 19:08, 21-11-2019 | #5 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Спасибо!
|
Отправлено: 19:16, 21-11-2019 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Переименование файла по шаблону и перенос нового имени в буфер обмена. | Vjjjik | Скриптовые языки администрирования Windows | 1 | 03-02-2018 03:18 | |
Переименование файлов | B1010 | Видео и аудио: обработка и кодирование | 0 | 28-09-2014 11:38 | |
CMD/BAT - Переименование файлов. | gen0m.rsw | Скриптовые языки администрирования Windows | 1 | 15-10-2010 19:15 | |
переименование файлов | mask | Программирование и базы данных | 6 | 20-05-2003 00:53 | |
Переименование файлов | Pavelz | Microsoft Windows NT/2000/2003 | 7 | 24-01-2003 10:32 |
|