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

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

Ответить
Настройки темы
CMD/BAT - [решено] копирование BAT

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


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

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


Изменения
Автор: 55kadi
Дата: 27-10-2016
на диске C: есть папка C:\LOGO\555
в папке 555 есть 3 файла
1.cfg
2.so
3.BIN
как скопировать эти 3 файла в другую папку и под папки в ней с заменой этих файлов если существуют C:\LOGO\new\launch\968000000000

Отправлено: 01:08, 27-10-2016

 

Ветеран


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

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


Цитата megaloman:
Iska, У меня, конечно, FAR старый ... »
Какой (с точностью до полной версии)? Я ни в одном с таким не сталкивался.

Отправлено: 09:02, 29-10-2016 | #21



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

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


Ветеран


Contributor


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

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


Изображения
Тип файла: jpg Версия фара.jpg
(29.3 Kb, 4 просмотров)

Iska, Вот скриншот

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


Отправлено: 09:11, 29-10-2016 | #22


Ветеран


Contributor


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

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


Iska, Скачал Far30b4774.x86.20160902, действительно там %~0 выдаёт путь\имя.расширение, не так, как если бы батник выполнялся в командном окне. Я привык к тому, что из под фара и в командном окне батники работают одинаково. Отвыкать?

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


Последний раз редактировалось megaloman, 29-10-2016 в 09:51.


Отправлено: 09:44, 29-10-2016 | #23


Ветеран


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

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


Цитата megaloman:
Iska, Вот скриншот »
Да, действительно старый, скоро пятнадцать лет версии будет.

Под имеющейся 1.70 beta 5 всегда показывает полный путь. Под чуть более ранним 1.70 beta 4 — полный, либо короткий, зависит от того, вызываем мы его просто по имени (например, Enter на имени пакетного файла), или с полным путём (например, Ctrl-F, Enter). Кстати, аналогичное поведение будет и при вызове пакетного файла из-под обычной командной строки.

Полагаю, где-то в промежутке между beta 4 и beta 5 перекроили Executor, и он стал всегда пытаться использовать полный путь. Слева — beta 4, справа — beta 5:
Скрытый текст

Деталей в changelog не нашёл.


Цитата megaloman:
не так, как если бы батник выполнялся в командном окне. »
Нет-нет. В командной строке будет всё ровно так же — в зависимости от того, указан было просто имя, или же полный путь:
Скрытый текст

А вот с beta 5 поведение Far Manager'а при запуске стало отличаться от командной строки.

Отправлено: 10:00, 29-10-2016 | #24


Ветеран


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

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


Цитата megaloman:
Я привык к тому, что из под фара и в командном окне батники работают одинаково. Отвыкать? »
В Вашей версии (beta 4) они как раз-таки и работают одинаково. А с beta 5 поведение привели в соответствие с Проводником — использовать ассоциацию, как следствие — полный путь.

Отправлено: 10:16, 29-10-2016 | #25


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


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

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


Цитата megaloman:
Папка C:\LOGO\new\launch\968000000000 не существует. Сверьте имя реальной папки и имя, прописанное в батнике. »
ДА работает была ошибка в имени папки

СПАСИБО

а можно усложнить задание

в папке 968000000000 есть подпапки например 1111 2222 3333 4444 5555 в некоторых подпапках есть свои подпапки 0000 1234......

можно сделать так стоб эти 3 фаила копировались в подпапки 1111 2222 5555 ..........а если в подпапках есть свои подпапки то только в подпапки подпапок 0000 1234 5432 .....................

968000000000\
1111
2222
3333\ 0000
1234
5555
4444\0000
5432

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

Отправлено: 15:10, 29-10-2016 | #26


Ветеран


Contributor


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

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


55kadi,
а можно усложнить задание
Код: Выделить весь код
@Echo Off

Set  "InBox=C:\LOGO\555"
Set "InFile="1.cfg" "2.so" "3.bin""

Set  "OutBox=C:\LOGO\new\launch\968000000000"
Set "OutBox2=0000"

Set "Log=0"
Set "Lfile=%InBox%\%~nx0.LOG"

If %Log%==1 Dir "%OutBox%" /A:D  >"%Lfile%"
If %Log%==1 Dir "%InBox%\?.*" /A:-D >>"%Lfile%"

FOR /F "usebackq delims=" %%d IN (`Dir "%OutBox%" /B /A:D 2^>nul`) DO (
	If %Log%==1 Echo ----- "%OutBox%\%%d\" >>"%Lfile%" 
	FOR %%f IN (%InFile%) DO (
		If %Log%==1 Echo Copy "%InBox%\%%~f" "%OutBox%\%%d\" >>"%Lfile%"
		Copy "%InBox%\%%~f" "%OutBox%\%%d\" >nul
		If Exist "%OutBox%\%%d\%OutBox2%\" (
			If %Log%==1 Echo Copy "%InBox%\%%~f" "%OutBox%\%%d\%OutBox2%\" >>"%Lfile%"
			Copy "%InBox%\%%~f" "%OutBox%\%%d\%OutBox2%\" >nul
		)
	)
)

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


Отправлено: 17:44, 29-10-2016 | #27


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


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

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


Цитата megaloman:
а можно усложнить задание »
мы не поняли друг друга

в папке 968000000000\есть подпапки 100 штук с разными именами например 123\ 454\.......в некоторых подпапках 123\454.... ест свои подпапки например 006\001......

и мне надо стоб эти 3 фаила копировались в подпапки 123\454......если в них нет подпапок а если в них есть еще подпапки 006\001 то вних

имена подпапок сейчас как пример реально другие названия

Отправлено: 18:31, 29-10-2016 | #28


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


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

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


Изображения
Тип файла: jpg 8.jpg
(23.5 Kb, 3 просмотров)

C:\LOGO\new\launch\968000000000\
1****\
2****\
3****\
4** \5****\
7****\
5****\
............
1***,2****...... это папки и этих папок около 100 штук

и эти 3 фаила надо копироват с заменой в эти папки

а если в этих папках есть подпапки то в них 5****,7****

Отправлено: 19:28, 29-10-2016 | #29


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


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

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


Изображения
Тип файла: jpg 8.jpg
(26.1 Kb, 6 просмотров)

на прикрепленом фаиле стрелками я показал куда копировать

только имена папок их около 100 у меня другие 5**********,4**** ........... ето пример

Отправлено: 19:54, 29-10-2016 | #30



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - bat файл, резервное копирование litoo Скриптовые языки администрирования Windows 5 20-06-2016 19:03
Любой язык - Копирование через BAT файл ALEX-AS Скриптовые языки администрирования Windows 1 22-05-2014 23:21
CMD/BAT - Параллельное копирование файлов в bat. Dremor Скриптовые языки администрирования Windows 18 12-01-2014 23:06
CMD/BAT - Копирование по FTP .bat Vao Скриптовые языки администрирования Windows 0 17-10-2011 10:29
CMD/BAT - [решено] .bat Копирование с условием TwoThrones Скриптовые языки администрирования Windows 1 09-01-2011 14:51




 
Переход