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

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

Ответить
Настройки темы
CMD/BAT - замена файлов и подпапок

Аватара для Peutrov

Старожил


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

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


Изменения
Автор: Peutrov
Дата: 07-02-2018
Пожалуйста, предложите пример как реализовать

"1"
существует папка с подпапками и файлами:
C:\example\abc\file1.txt
C:\example\abc\xyz\file2.txt
C:\example\abc\xxx\zzz\file3.txt
C:\example\abc\xxx\zzz\file4.txt
(в файлах содержатся данные)

"2"
есть другая папка с одноименными файлами и подпапками, но содержимое файлов уже другое
abc\file1.txt
abc\xyz\file2.txt
abc\xxx\zzz\file3.txt
abc\xxx\zzz\file4.txt


Папка example может иметь любое другое имя.. например C:\ixampal\. В таком случае, как содержимое "2" разместить (копировать с заменой) в "1"
В командный файл можно ведь применить вставку из буфера? (правая кнопка мыши - вставить). Можно ли в таком случае вставлять имя папки? Например
введите имя папки, куда будут скопированы файлы: пишем вручную или вставляем C:\ixampal\
Можно ли придумать какую-то защиту, коррекцию, в случае если пользователь забудет в конце указать символ "\"

ведь если в конце этого символа нет - команда может сработать неадекватно, верно?


спасибо за рассмотрение

Отправлено: 17:05, 07-02-2018

 

Ветеран


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

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


Код: Выделить весь код
@echo off
set "dy=C:\example"
set "dz=D:\example"

if not exist "%dz%" md "%dz%"
subst z: "%dz%"
subst y: "%dy%"
pushd y:\
 for /f "delims=" %%a in ('dir /ad/b/s') do 2>nul md "z:%%~pnxa"
 for /f "delims=" %%a in ('dir /a-d/b/s') do >nul copy "%%~nxa" "z:%%~pnxa"
popd
subst y: /d
subst z: /d
exit

Отправлено: 17:55, 07-02-2018 | #2



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

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


Ветеран


Contributor


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

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


Насколько я понимаю, в папке 2 эталонные файлы, и путь к ним надо указать верно. Укажите свой путь. С остальным возможны варианты.
Пишем вручную или вставляем C:\ixampal\ и не думаем, есть там \ или нет
Код: Выделить весь код
@Echo Off
cls
Set "Fold1=С:\example"

Pushd "%Fold1%"
If Not %ErrorLevel%==0 (
	Echo "%Fold1%" 
	Pause
	Exit /B 240 
)
Set "Files=Z:\Fold2\*.*"

Xcopy /S /Y "%Files%"
Popd
Помещаем батник в C:\ixampal\ или как она там называется и не указываем в батнике эту папку совсем
Код: Выделить весь код
@Echo Off
cls
Set "Fold1=%~dp0"
Всё что ниже берём из предыдущего батника
На этот батник сделайте на рабочем столе значок, и нужную для обработки папку, например, C:\ixampal, в проводнике затаскивайте на этот значок. То есть, руками папку прописывать не надо.
Код: Выделить весь код
@Echo Off
cls
If "%~1"=="" (
	Echo Input folder not defined
	Pause
	Exit /B  240 
)
Set "Fold1=%~1"
Всё что ниже берём из первого батника

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


Последний раз редактировалось megaloman, 07-02-2018 в 20:54.


Отправлено: 19:45, 07-02-2018 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Скрипт удаления папок/подпапок и файлов zhuk09 Скриптовые языки администрирования Windows 4 07-12-2015 12:41
CMD/BAT - [решено] Удаление определенных файлов из подпапок. NikolayHAOS Скриптовые языки администрирования Windows 1 30-10-2013 00:58
CMD/BAT - Удаление всех файлов из подпапок Scumtron Скриптовые языки администрирования Windows 2 17-10-2013 16:15
CMD/BAT - [решено] Удаление определенных файлов из подпапок 91892823 Скриптовые языки администрирования Windows 2 15-11-2012 07:31
Последовательная работка файлов из подпапок Lodoss AutoIt 7 09-04-2009 13:53




 
Переход