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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечение имени файла в bat, Извлечение имени файла в bat 
:(
    Опции темы
Perun
Дата 27.10.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Дело такое: из архива извлекается файл,он имеет имя в которое входит дата его создания.
Надо из этой даты вытащить месяц,день,год.
Можно ли это сделать средствами bat файла?
PM MAIL ICQ   Вверх
Thinker
Дата 27.10.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Дата - это и есть месяц, день и год!!!!! 
Кстати, что делать с вытащенной датой?


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Perun
Дата 28.10.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



вопрос в том,как вытащить изимени файла эти данные!
Я же не знаю наперёд название извлекаемого файла
PM MAIL ICQ   Вверх
Thinker
Дата 28.10.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Perun, а формат у имени файла есть?? Например Д.М.Г!!!


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Perun
Дата 28.10.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Update_2008_10_11.rar
ГГ.ММ.ДД
PM MAIL ICQ   Вверх
Thinker
Дата 28.10.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Ну вытащил данные, дальше то что?
Код

@echo off
set varfile=%1
echo %varfile:~7,10% > test.txt

В файл test.txt будет записано 2008_10_11, при имени файла Update_2008_10_11.rar

Скажи что конкретно ты хочешь? Куда девать полученный результат? Будут ли сотни файлов или же один?


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Perun
Дата 28.10.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Конкретно надо следующее:в папку С:\Mail_In попадает файл-архив,
его распаковываем, определяем к какому месяцу-году он относится(в имени извлеченного
файла - SFX архива - содержится дата, имя типа Update_2008_10_11)
и перемещаем этот извлечённый файл в папку соответственно  с именем месяца.

Я хочу прочитать имя этого файла. Как я понял сначала надо сделать вывод в файл, 
а потом прочитать его. Это в теории, а в коде?

p.s. так понятно?

PM MAIL ICQ   Вверх
Akella
Дата 29.10.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(Thinker @  28.10.2008,  14:13 Найти цитируемый пост)
echo %varfile:~7,10%

расшифруй  smile 
PM MAIL   Вверх
Thinker
Дата 29.10.2008, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Akella, берем от переменной "varfile" 10 знаков начиная с 7го, значение которой равно имени файла (%1)!!!  smile

Добавлено через 3 минуты и 27 секунд
Цитата(Perun @  28.10.2008,  16:02 Найти цитируемый пост)
p.s. так понятно?

Так то понятно, но почему bat????? Реализация на другом коде не устроит, конечно, попробую на bat, но не уверен???
Будет время отпишу наработки. smile


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Perun
Дата 29.10.2008, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



спасибо.
Можно и на JS или VBS
PM MAIL ICQ   Вверх
Thinker
Дата 29.10.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Времени не хватает катастрофически.
Код

@echo off
set varfile=%1
mkdir %varfile:~7,10%
copy %varfile% %varfile:~7,10%

Потом допишу цикл проверки на существование папки и проверку совпадения имён. Пока синтаксис такой: file1.bat file2.SFX, если надо позже напишу, чтобы программа брала все файлы в директории и раскидывала их по папкам.


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Perun
Дата 29.10.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



спасибо конешо, я просто хотел понять как зачитать имя файла в папке...
ну раз так пошло, валяй,я свой вариант покажу....позже
PM MAIL ICQ   Вверх
Thinker
Дата 29.10.2008, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Цитата(Perun @  29.10.2008,  18:03 Найти цитируемый пост)
как зачитать имя файла в папке

Имя файла получается SET переменная=%1, ставь галку, что тема решена. smile 
 
Цитата(Perun @  29.10.2008,  18:03 Найти цитируемый пост)
я свой вариант покажу....позже

Ждёмс...

Цитата(Perun @  29.10.2008,  18:03 Найти цитируемый пост)
валяй

Как позволит время.


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Perun
Дата 30.10.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



я написал этот код для примера, что-то не так...
создал папку 1
в ней файл - freecap.xml
......................
содержимое bat:
set varfile=%1
echo %varfile%
PAUSE
........................
выводит,что varfile=
и всё!

PM MAIL ICQ   Вверх
Thinker
Дата 30.10.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

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



Цитата(Perun @  30.10.2008,  11:00 Найти цитируемый пост)
я написал этот код для примера

Не написал, а исковеркал, что я тебе дал.

Код

rem запрещаем вывод на экран исполняемых команд
@echo off
rem присваиваем переменной varfile имя необходимого файла. Формат его определён - Update_(ГГГГ)_(ММ)_(ДД).sfx
set varfile=%1
rem создаём папку с именем (ГГГГ)_(ММ)_(ДД), если папка существует, строчка игнорируется
mkdir %varfile:~7,10%
rem копируем в созданную/существующую папку файл
copy %varfile% %varfile:~7,10%


После этого заходим в CMD и вводим: file.bat Update_2008_10_11.sfx. Это не удобно тем, что каждый файл надо вбивать, но я обещал тебе сделать так, чтобы все файлы директории с форматом Update_(ГГГГ)_(ММ)_(ДД).sfx были раскиданы по своим папкам. Сказал, сделаю, но позже.

P.S.: почитай мануал по написанию bat-файлов.


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

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

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

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

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

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

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


 




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


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

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