Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Нужно сделать бат файл,который бы перемещал файлы в бэкап

Ответить
Настройки темы
CMD/BAT - Нужно сделать бат файл,который бы перемещал файлы в бэкап

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Позвольте отнять немного времени
Дали задание в универе,сделал все,кроме одного.Само задание такое:
Сделать батник,который переносит все файлы в бэкап(не копирует),кроме тех,которые указаны в качестве параметров,их нужно оставить в исходной папке
Ну,самое простое-проверить папку на наличие папки"backup" я сделал еще с первого раза,а вот с переносом файлов уже косяк,понимаю как можно сделать,если бы нужно было переносить файлы,которые заданны в качестве параметров,а наоборот уже не знаю.
Была идея сделать через цикл,по типу
Код: Выделить весь код
for %%i in ('dir /a-d /b | find ".bat" /v') DO ( move %%i backup )
Но цикл не может воставить значение после конвеера в переменную %%i ,пробовал записать команду dir в переменную и уже набор цикла из этйо переменной делать,но тоже не вышло.Можете подсказать как сделать.Препод сказал,что нужно,желательно,через ветвление и циклы делать.Самый простой способ с переносом всех файлов и последующем удалением ненужных файлов я уже делал,мне бы посмотреть как сделать правильный вариант.Заранее благодарен

Отправлено: 13:21, 06-11-2019

 

Старожил


Сообщения: 427
Благодарности: 72

Профиль | Отправить PM | Цитировать


Цитата CyberNoble:
кроме тех,которые указаны в качестве параметров,их нужно оставить в исходной папке »
а где в вашем коде этот параметр?

Отправлено: 13:45, 06-11-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


CyberNoble, очень хорошо просматривается что учиться желания у вас мало и в справку вы толком не заглядывали.
готового решения не дам!
вот это:
Код: Выделить весь код
dir /a-d/b "C:\Papka"|findstr /rv /c:"%~1" /c:"%~2"
нужно обернуть в for /f, на выходе получите только необходимые файлы, ну а
читайте, соответственно что такое параметры и как с ними запускать, а также что такое:
Код: Выделить весь код
for /?
findstr /?
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:22, 06-11-2019 | #3


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
	Set "BoxIn=Z:\Box_In"
	Set "BoxArc=Z:\Box_Arc"

	Set Spisok="Not delete file1.txt" "Not delete file2.kuku" "Not delete file3.doc" "Not delete file4.txt" 
	
	For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\" /B /A:-D`) Do Call :MyMove "%BoxIn%" "%BoxArc%" "%%f"
Exit /B 0

:MyMove
	FOR %%i IN (%Spisok%) DO If /I "%~3"=="%%~i" Exit /B 1
	>nul Move /Y "%~1\%~3" "%~2\"
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:21, 06-11-2019 | #4


Ветеран


Сообщения: 547
Благодарности: 36

Профиль | Сайт | Отправить PM | Цитировать


Цитата CyberNoble:
Сделать батник,который переносит все файлы в бэкап(не копирует),кроме тех,которые указаны в качестве параметров,их нужно оставить в исходной папке »
Код: Выделить весь код
robocopy /mov /e  исходная_папка   бэкап_папка    /XF файл_оставить1 /XF файл_ставить2

-------
консольный клиент telegram для Windows: www.elapser.info

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:45, 08-11-2019 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Опиум, задание в универе вряд ли подразумевает использование сторонних утилит, задача наверняка на использование чистого cmd.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 13:06, 08-11-2019 | #6


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
сторонних утилит »
robocopy с 2008 входит в состав Windows 7
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:25, 08-11-2019 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Нужно сделать бат файл,который бы перемещал файлы в бэкап

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - bat файл который бы запускался на рабочей станции и копировал измененные файлы dramkos Скриптовые языки администрирования Windows 1 01-08-2014 05:53
2008 R2 - есть бантик удаляет все файлы с раб стола а нужно бы поправить чтоб перемещал m151163 Windows Server 2008/2008 R2 2 14-02-2012 16:42
CMD/BAT - [решено] сделать бат файл, который архивирует файлы по их созданию по месяцам Qwerty!! Скриптовые языки администрирования Windows 11 06-01-2012 09:43
CMD/BAT - Нужен bat файл который бы перемещал галочку с только для меня для любого пользователя ruslan777777 Скриптовые языки администрирования Windows 0 12-08-2011 09:15
CMD/BAT - Возможно ли создать бат файл который считывал бы раз в сессию внешний ip и ... karpinsk Скриптовые языки администрирования Windows 6 11-12-2010 11:04




 
Переход