Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
 
Опции темы Опции просмотра
Старый 05.01.2007, 17:27   [включить плавающее окно]   #1
BMX1
Мужской Новенький
Автор темы
 
Регистрация: 05.01.2007
Как написать такой *bat или *cmd файл?

В командах DOS не силен, а надо срочно решить задачу такого рода:

Допустим есть файл D:\Config files\config file.cfg
И есть директория C:\Documents and Settings\Client\Мои документы\STFFH Prof , в этой папке STFFH Prof, время от времени создаются всё новые и новые папки именами Anton (C:\Documents and Settings\Client\Мои документы\STFFH Prof \Anton), Ivan, Maria, Anna и т.д.

Нужно создать *.bat ( или *.cmd) файл выполняющий копирование файла config file.cfg на все подпапки директории C:\Documents and Settings\Client\Мои документы\STFFH Prof, то есть в папки Anton, Ivan, Maria, Anna и т.д.

(Скажем bat (cmd) файл будет выполнятся каждый раз при перезагрузке через автозагрузку или по команде, но это не важно.)
В определенную папку копировать файл одной командной строкой я умею, а тут когда такие папки появляются каждый день и каждый час…. Ну думаю хорошо объяснил свой вопрос.

Теперь вопрос.
Как пишется такая командная строка? Пожалуйста, помогите!
BMX1 вне форума  
Ответить с цитированием
Старый 05.01.2007, 18:25   [включить плавающее окно]   #2
point
Мужской Общительный
 
Аватар для point
 
Регистрация: 30.12.2006
Адрес: Донецк
Ну ты даешь . Я думаю что для достижения такой цели bat файл тебе не может помочь. Напиши програмулину хотябы консольную. Это не сложно, если хоть чуть чуть програмируешь.
point вне форума  
Ответить с цитированием
Старый 05.01.2007, 18:53   [включить плавающее окно]   #3
BMX1
Мужской Новенький
Автор темы
 
Регистрация: 05.01.2007
Кроме простых команд DOS ничего не знаю. Неужели нельзя сделать строчку для cmd файла?
BMX1 вне форума  
Ответить с цитированием
Старый 05.01.2007, 19:20   [включить плавающее окно]   #4
point
Мужской Общительный
 
Аватар для point
 
Регистрация: 30.12.2006
Адрес: Донецк
Какую строчку? Ты подумай, представил как это будет выглядеть? Допустим ты выполнишь команду dir в нужной папке и она тебе выведет список каталогов, в которые нужно копировать файл. Но как ты передать этот аргумент команде copy т.е. каталоги? это невозможно!
point вне форума  
Ответить с цитированием
Старый 05.01.2007, 20:26   [включить плавающее окно]   #5
BMX1
Мужской Новенький
Автор темы
 
Регистрация: 05.01.2007
point, возможно, всё возможно в английской винде

FOR /F %%i IN ('dir /AD /B "C:\Documents and Settings\Client\My Documents\STFFH Prof"') DO COPY "D:\Config files\config file.cfg" "C:\Documents and Settings\Client\My Documents\STFFH Prof\%%i"

работает замечательно. Только у меня русская винда. А там пака не "My Documents", а "Мои Документы".
Надо победить проблему с русской кодировкой. Незнаешь как?
BMX1 вне форума  
Ответить с цитированием
Старый 05.01.2007, 22:52   [включить плавающее окно]   #6
Jabberwocky
Мужской Умудрённый
 
Аватар для Jabberwocky
 
Регистрация: 14.12.2003
Адрес: Москва
Цитата (BMX1) »
Надо победить проблему с русской кодировкой. Незнаешь как?
Не вижу, в чем проблема и что побеждать. У меня всё прекрасно работает и с русскими именами папок, и с русскими именами файлов.
__________________
Никогда не существовало и не будет существовать никаких «прикладных наук», есть лишь приложения наук (весьма полезные!) © Л. Пастер
Jabberwocky вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 05.01.2007, 23:07   [включить плавающее окно]   #7
BMX1
Мужской Новенький
Автор темы
 
Регистрация: 05.01.2007
Jabberwocky, чем редактировал cmd? На стандартном Notepade?

BMX1 добавил :

Всё получилось, на другом сайте с программистами решили проблему. Нужно было сохранить в другой кодировке. Помог AkelPad.
Всем спасибо!
Тема закрыта.
BMX1 вне форума  
Ответить с цитированием
Старый 06.01.2007, 01:41   [включить плавающее окно]   #8
Jabberwocky
Мужской Умудрённый
 
Аватар для Jabberwocky
 
Регистрация: 14.12.2003
Адрес: Москва
На будущее. Если кто заинтересуется. под другой кодировкой подразумевается досовская (она же CP-866), в которой прекрасно сохраняет например FAR. Для этих целей можно пользоваться и notepad-ом, но необходимо использовать шрифт Terminal.
:merci:
__________________
Никогда не существовало и не будет существовать никаких «прикладных наук», есть лишь приложения наук (весьма полезные!) © Л. Пастер
Jabberwocky вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 06.01.2007, 03:24   [включить плавающее окно]   #9
Daven
Мужской Администратор
 
Аватар для Daven
 
Регистрация: 06.03.2006
Адрес: Москва
Насколько в gnu bash-e все проще
__________________
[root@localhost]
Android 2.3.1 (Gingerbread) @ HTC Desire Z @ 1.3GHz
Daven вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 17.01.2017, 18:16   [включить плавающее окно]   #10
Kinder
Мужской Новенький
 
Регистрация: 17.01.2017
подскажите, как исправить этот код, если на примере автора папка STFFH Prof не одна, и файл нужно скопировать в
C:\Documents and Settings\Client\Мои документы\STFFH Prof\Anton
C:\Documents and Settings\Client\Мои документы\1 \Maria\
C:\Documents and Settings\Client\Мои документы\2 \Anna\

и тд.
Kinder вне форума  
Ответить с цитированием
Старый 18.01.2017, 11:12   [включить плавающее окно]   #11
VitohA
Мужской Интересующийся
 
Регистрация: 13.09.2016
Адрес: Voronezh
Kinder , обязательно ли cmd?
На PS будет примерно так:

gci -Recurse -Directory -path "path to my docs folder" | where {$_.FullName.Split("\").Count -eq 6} |% {cp "path to config" $_.FullName}

На 5м PS у gci появился параметр depth, там строка покороче будет.
VitohA вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:25. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey