0 / 0 / 0
Регистрация: 15.09.2021
Сообщений: 3
1

Скопировать и переименовать в cmd

15.09.2021, 04:09. Показов 333. Ответов 4
Метки bat, cmd (Все метки)

Помогите пожалуйста ребята, нужен батник чтобы копировать файлы если имя существует то переименовать.
Например: копирую file.pdf через батник в папку если в папке уже есть file.pdf тогда переименовать file (1).pdf, file (2).pdf.... подобие такого, вообще такого возможно в батнике сделать?
Спасибо за ранее!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2021, 04:09
Ответы с готовыми решениями:

Переименовать файл (CMD/BAT)
как удалить из названия файла ненужную информацию 1)пробел 2)фигурную скобку со знаками пример ...

Скопировать и переименовать файл
Добрый день! подскажите пожалуйста, как реализовать правильно копирование файла с его содержимым,...

Переименовать > Скопировать в другое место
Нужен батник, при перемещение на который файл будет копироваться в папку, переименовываться (если...

Выбрать файл, скопировать, переименовать
Добрый день! Подскажите, люди добрые, как организовать следующую задачу? Пользователь запускает...

4
1138 / 712 / 308
Регистрация: 29.05.2016
Сообщений: 3,321
15.09.2021, 10:01 2
Bek92, пробуйте:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
set "filename=file.pdf"
set "destination=C:\test"
powershell -executionpolicy bypass -command "$filename='%filename%';" ^
    "$files=(Get-ChildItem '%destination%' -file).name;" ^
    "$find_1=$filename -in $files;" ^
    "if ($find_1) {" ^
        "$find_2=get-childitem '%destination%' -file | where {$_.name -match """$($filename -replace '(.+?)\..+$','$1')\s\([0-9]+\)$($filename -replace '.+\.(.+)$','.$1')"""};" ^
        "if ($find_2) {" ^
            "$find_2 | sort {[int]($_.baseName -replace '.+?\s\(([0-9]+)\)','$1')} -Descending | select -First 1 | foreach {Copy-Item """$filename""" """%destination%\$($filename -replace '(.+?)\..+$','$1') ($([int]($_.baseName -replace '.+?\s\(([0-9]+)\)','$1')+1))$($_.Extension)""";}" ^
        "} else {" ^
            "Copy-Item """$filename""" """%destination%\$($filename -replace '(.+?)\..+$','$1') (1)$($filename -replace '.+\.(.+)$','.$1')""";" ^
        "}" ^
    "} else {" ^
        "Copy-Item """$filename""" """%destination%\$filename""";" ^
    "}" ^
pause
exit
Примечание
1) Скрипт запускаете из папки, в которой лежит файл, предназначенный для копирования
2) Во 2-ой строчке вместо file.pdf указываете строго имя файла с расширением
3) В 3-ей строчке вместо C:\test указываете папку назначения, в которую файл нужно скопировать
0
0 / 0 / 0
Регистрация: 15.09.2021
Сообщений: 3
15.09.2021, 12:38  [ТС] 3
Работает, как вы написали, но у меня несколько файлов 15-20шт
0
0 / 0 / 0
Регистрация: 15.09.2021
Сообщений: 3
15.09.2021, 12:44  [ТС] 4
чтобы каждый файл по числам по папкам копировать или переместить 01-04.2021*.pdf в папку 01-04 Сентябрь 2021, 05-08.2021*.pdf в папку 05-08 Сентябрь 2021 и так далее..., при этом если в папке уже существует файл с таким названием не заменить а переименовать.
Скопировать и переименовать в cmd
0
1138 / 712 / 308
Регистрация: 29.05.2016
Сообщений: 3,321
15.09.2021, 13:03 5
Bek92, когда надумаете написать корректное ТЗ тогда и продолжим разговор
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2021, 13:03

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как переименовать и одновременно скопировать файл
Как переименовать и одновременно скопировать файл в определенную директорию?

Необходимо сравнить, переименовать, скопировать файл
У меня проблема в автоматизации обновления, мне необходимо: Сравнить файл на рабочем ПК...

Скопировать файл в другую папку и переименовать его
В папке с нашей программой есть 2 dll файла TemplateXP.dll и TemplateW.dll. Одну из них нужно...

Как скопировать, переместить, вставить, переименовать файл
Как скопировать, переместить, вставить, переименовать файл или папку?

Скопировать часть текста из CMD в Memo
Здравствуйте. есть процедура, которая выполняет команду ping. нужно чтобы после выполнения команды...

Ошибка в WinBuilder. Невозможно скопировать файл cmd.exe
Начав работать с программой WinBuilder, руководствуясь статьёй...

Как скопировать файл в системный каталог посредством cmd/bat
Доброго всем времени суток. Наберитесь минутку терпения. Хочу передать всю интригу... Как же тут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.