|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование и копирование файлов |
|
CMD/BAT - [решено] Переименование и копирование файлов
|
Пользователь Сообщения: 60 |
Профиль | Отправить PM | Цитировать Добрый день! Хочу создать батник, который бы переименовывал файлы в папке и копировал их в итоговую "Total"
Есть две папки, "1" и "2" и в обеих лежат файлы c именами: check1,check2,check3.... и т.д Нужно чтобы нумерация начиналась с 001 и к имени добавлялся номер папки. например check001_1, check002_1, check003_1 - это для папки "1" и например check001_2, check002_2, check003_2 - для папки "2" файлов может быть более тысячи Для меня это нереально( Пробовал только переименовывать вот таким кодом for /f "tokens=*" %%a in ('dir /b C:\Onkassa\Rename\1\*.*') do ren C:\Onkassa\Rename\1\%%a 001_1%%a в итоге переименован только первый файл 001_1check |
|
Отправлено: 11:24, 17-08-2018 |
Crazy Сообщения: 1177
|
Профиль | Отправить PM | Цитировать Цитата Iska:
<# :: @echo off powershell -ex bypass -c "&{[scriptblock]::create((gc '%~f0' -enc OEM) -join [char]10).invoke()}" pause&exit /b #> $a='Привет мир!' $b='И вам не кашлять!' $a $b |
|
------- Последний раз редактировалось YuS_2, 18-08-2018 в 14:31. Причина: доплнение Отправлено: 14:11, 18-08-2018 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 14:22, 18-08-2018 | #22 |
Crazy Сообщения: 1177
|
Профиль | Отправить PM | Цитировать Цитата Iska:
кодировка скрипта в первом варианте OEM и UTF8 без BOM во втором случае PS Ах, да, надо в первом скрипте заменить pwsh на powershell... ну, чтобы встроенный отработал, а не v6.0 поправил скрипты |
|
------- Последний раз редактировалось YuS_2, 18-08-2018 в 14:33. Отправлено: 14:27, 18-08-2018 | #23 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Avast тут же отреагировал . Удалил пакетный файл и попытался удалить powershell.exe. |
|
Отправлено: 15:15, 18-08-2018 | #24 |
Ветеран Сообщения: 2715
|
Профиль | Отправить PM | Цитировать Если без эмоций буквально прочесть поставленную задачу и не напрягать воображение, то:
1. У файлов есть общий префикс, в постановке он check 2. После префикса идёт номер, в постановке он <999 3. Надо получить новое имя: префикс+номер, дополненный при необходимости нулями до трёх знаков+_+имя папки То вот еще вариант (скрипт3), тупо и прямолинейно, зато надёжно @Echo Off cls Set "BoxIn=Z:\Box_In" Set "Folds="1111" "2222"" Set "Pref=check" Set /A Max=1000 Set "BoxOut=Z:\Box_In\Total" If Not Exist "%BoxOut%" Md "%BoxOut%" Set /A Max1=%Max%-1 FOR /L %%n IN (0,1,%Max1%) DO FOR %%d IN (%Folds%) DO ( FOR %%f IN ("%BoxIn%\%%~d\%Pref%%%n.*") Do ( Set /A MMax=%Max%+%%n Call Copy "%%f" "%BoxOut%\%Pref%%%MMax:~1%%_%%~d%%~xf" >nul Call Ren "%%f" "%Pref%%%MMax:~1%%_%%~d%%~xf" >nul ) ) Pause GoTo :Eof |
------- Последний раз редактировалось megaloman, 18-08-2018 в 18:56. Отправлено: 16:14, 18-08-2018 | #25 |
Crazy Сообщения: 1177
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 16:26, 18-08-2018 | #26 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
YuS_2, видимо такой гибридный способ пошёл в массы. Вероятно — в массы недописателей-вирусомайнеров. |
|
Отправлено: 16:50, 18-08-2018 | #27 |
Crazy Сообщения: 1177
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 17:04, 18-08-2018 | #28 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Кхе-кхе … В оное время все, поголовно все значимые антивирусы ругались на банальный CreateObject("ADODB.Stream") … .SaveToFile bla-bla-bla, не особо затрудняя себя проверкой того, что и куда пишется при этом: сказано, что ADODB.Stream .SaveToFile позволяет создавать и записывать двоичные файлы — стало быть, ату его, ату! Причём, обходилось это банальнейшим образом, каким-нибудь CreateObject("ADO" & "DB.Str" & "eam") .
|
Отправлено: 18:09, 18-08-2018 | #29 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать megaloman,
Спасибо огромное! Но у меня вопрос возник, можешь вот эти 2 строки прокомментировать? Цитата megaloman:
|
|
Отправлено: 07:30, 20-08-2018 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование папки и копирование новой из сети. | Lorttt | Скриптовые языки администрирования Windows | 19 | 19-06-2017 18:56 | |
CMD/BAT - Копирование файла и переименование согласно списка из exel | TPOJIb_55 | Скриптовые языки администрирования Windows | 4 | 01-06-2016 09:28 | |
CMD/BAT - Копирование файлов из подкаталогов и их переименование в название папки | lexxxyatina | Скриптовые языки администрирования Windows | 7 | 13-11-2014 09:44 | |
CMD/BAT - [решено] Копирование и переименование файла по особой маске | DARK-Silver666 | Скриптовые языки администрирования Windows | 5 | 20-12-2012 21:22 | |
VBS/WSH/JS - [решено] переименование и копирование папки | Anufriev | Скриптовые языки администрирования Windows | 6 | 22-05-2012 08:11 |
|