Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> автоматизация переименования папки 
:(
    Опции темы
Dgin
  Дата 26.5.2008, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



У меня такая задача:
Нужно скопировать файл с диска c:\...\pav.sig в d:\..\temp\
После этого надо переименовать папку temp по маске *x*, где x =25 мая (то есть день и месяц, когда происходит эта операция)
Как автоматизировать этот процесс?
PM MAIL   Вверх
mihanik
Дата 26.5.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Dgin, приведи пример.
Что-то я не совсем понял вопроса...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Dgin
Дата 26.5.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



Ну например я создаю bat-файл для этой операции:
copy /y c:\...\pav.sig d:\..\temp\
ren temp ...дальше я не знаю как придать папке имя, состоящее из сегодняшнего числа и месяца.

Может можно *.vb-скрипт написать, но я в этом не разбираюсь, или иным путем это проделать.
Операция запуска *.bat файла происходит в разные дни, поэтому и имя будет разное у папки temp

Это сообщение отредактировал(а) Dgin - 26.5.2008, 19:09
PM MAIL   Вверх
mihanik
Дата 26.5.2008, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Код

ren temp %date%



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Dgin
Дата 26.5.2008, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



Ну хорошо, а если я завтра запущу этот батник, то
ren temp %date% уже не выполнится, потому что папки temp уже не будет, надо будет переименовывать папку %date%
PM MAIL   Вверх
mihanik
Дата 26.5.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Та-а-а-ак...
Батенька!
Кто Вас учил технические задания ставить?
Мы, конечно, тут все экстрасенсы, но не настолько же...

Итак.
Резюмирую.
1. Где-то на диске "d:" есть папка (назовём её "папка А").
Это в корне диска или в какой-то подпапке?
Если в какой-то подпапке (допустим "папка В"), то что в "папке В" ещё есть кроме "папки А"?

2. Каждый день "папка А" меняет своё имя. Имя получается из текущей даты методом взятия месяца и числа.

3. Каждый день в "папку А" копируются откуда-то файлы...

Внимание!
Вопрос: нафига всё это?
Проще никак нельзя?




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Dgin
Дата 26.5.2008, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



1. Ответ: в подпапке, как вы пишете, то будет D:/B/A  В папке B еще есть файлы *.exe *.txt и др.

Ну основная задача состоит в copy /y c:\...\pav.sig d:\..\temp\
А переименование, если никто не поможет, то ... не будет его.

Это сообщение отредактировал(а) Dgin - 26.5.2008, 20:08
PM MAIL   Вверх
01MDM
Дата 26.5.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



А какой смысл сначала копировать в temp, а потом ее переименовывать? Копируй сразу в папку с датой в названии.

Код

xcopy "c:\...\pav.sig" "d:\...\%date%\"


Конечный слеш обязателен если папка не существует

Или если temp нужна, то
Код

@echo off
copy "c:\...\pav.sig" "d:\...\temp"
ren "d:\...\temp" "d:\...\%date%"
md "d:\...\temp"


Это сообщение отредактировал(а) 01MDM - 26.5.2008, 21:28


--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
Dgin
Дата 26.5.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



Ты не понял, батник запускается не один раз, и дело не в папке temp.
привожу пример:
26 мая, файл c:\pav.sig копируется в папку d:\PAP 26 мая hapo
27 мая, файл c:\pav.sig копируется в папку d:\PAP 26 мая hapo, папка d:\PAP 26 мая hapo превращается в d:\PAP 27 мая hapo
28 мая, файл c:\pav.sig копируется в папку d:\PAP 27 мая hapo, папка d:\PAP 27 мая hapo превращается в d:\PAP 28 мая hapo
29 мая, файл c:\pav.sig копируется в папку d:\PAP 28 мая hapo, папка d:\PAP 28 мая hapo превращается в d:\PAP 29 мая hapo
...............................
1 июня, файл c:\pav.sig копируется в папку d:\PAP 31 мая hapo, папка d:\PAP 31 мая hapo превращается в d:\PAP 1 июня hapo
2 июня, файл c:\pav.sig копируется в папку d:\PAP 1 июня hapo, папка d:\PAP 1 июня hapo превращается в d:\PAP 2 июня hapo

и так до бесконечности, слово PAP или hapo можно убрать.
PM MAIL   Вверх
Dgin
Дата 26.5.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



А чтоб русские имена папок понимались надо в батник вначале какой-то *.nls-файл вроде вписать?
PM MAIL   Вверх
01MDM
Дата 26.5.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



Если папка с предыдущей датой не нужна,то 
Код

@echo off
:: Кодировка если батник сохранен в cp1251 и присутсвуют русские названия. Если cp866 - необязательно
chcp 1251 >nul

:: Удаляем папку у которой в названии есть год (2008)
for /f %%i in ('dir /b /ad d:\ ^| findstr %date:~-4%') do rd %%i 2>nul

:: Копируем файл в папку с текущей датой
xcopy "c:\pav.sig" "d:\%date%\"


Это сообщение отредактировал(а) 01MDM - 26.5.2008, 22:17


--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
Akella
Дата 30.5.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 73
Всего: 329



Можно в инете поискать утилиты переименования, их, поверь, хватает smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.