Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 21:26   #1
Наталья1991
Пользователь
 
Регистрация: 14.05.2012
Сообщений: 11
По умолчанию написать bat файл для обработки папки - перемещения нужных файлов (учебная задача)

ПОМОГИТЕ!!!
1.Написать командный файл,принимающий при запуске след.параметры: имя папки, расширение файлов. Командный файл должен разобрать содержимое папки так:все файлы с заданным расширением переместить в папки,имя которых будет содержать дату и расширение,а файлы с другими расширениями в папку others. Все действия командного файла должны быть записаны в файл log.txt(кол-во перемещенных файлов и т.д.) Вот всё,на что смогла сделать:
Код:
echo off
echo OC
set Bloknot=%date:~-10%.txt
MD %Bloknot%
set Excel=%date:~-10%.xlsx
MD %Excel%
set Word=%date:~-10%.docx
MD %Word%
set Others=%date:~-10%.others
MD %Others%
move *.txt %date:~-10%.txt
move *.xlsx %date:~-10%.xlsx
move *.docx %date:~-10%.docx
2. Написать командный файл, который формирует первый и выводит суммарное количество скопируемых и перемещенных файлов каждого типа

буду ооооочень признательна,если поможете!!!

Последний раз редактировалось Stilet; 14.05.2012 в 21:30.
Наталья1991 вне форума Ответить с цитированием
Старый 15.05.2012, 09:27   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Наталья1991 Посмотреть сообщение
Вот всё,на что смогла сделать:
Ну, в общем, неплохо, что хоть что-то попыталась сделать..
Вообще-то, мне не все понятно с заданием. Например - какая дата имеется в виду: текущая или дата файла? Судя по тому, что ты сделала, я решил, что текущая.

Короче, вот тебе батник. Не знаю, насколько он тебя удовлетворит, я в нем даже сделал корректную обработку лога (чтоб он не перемещался вместе с остальными файлами), а также подсказку.

Назови файл, скажем sort_ext.bat
Код:
@echo off
if %1a==a goto error
if not exist %1 goto error
if %2a==a goto error
rem
set log=%cd%\%~n0_log.txt
set dat=%date%
set other=other
echo ==== %~n0 log === now is %dat%, %time% ==== > %log%
echo sorting out files of .%2 type in folder %~n1 > %log%
for %%f in (%1\*.%2) do (
	if not exist %1\%dat%.%2 (
		mkdir %1\%dat%.%2
		echo folder %dat%.%2 created >> %log%
	)
	if not %%~ff==%log% (
		move %%f %dat%.%2 > nul
		echo file %%~nf moved to folder %dat%.%2 >> %log%
	)
)
for %%f in (*) do (
	if not exist %other% (
		mkdir %other%
		echo folder %other% created >> %log%
	)
	if not %%~ff==%log% (
		move %%f %other% > nul
		echo file %%~nf moved to folder %other% >> %log%
	)
)
echo ==== %~n0 done == now is %date%, %time% ==== >> %log% 
goto exit
:error
echo usage:
echo %~n0 folder_name files_extention
:exit
Хочу тебя предупредить: будь осторожна!! Он работает с реальными файлами!! При неосторожном употреблении последствия могут быть крайне нежелательными!!

Давай, enjoy, успехов тебе ))

P.S.
Я совсем не понял, что требуется в пункте 2. Может, пояснишь? Кстати, очень порадовало причастие "скопируемых" ))).
Предпочитаю на "ты".

Последний раз редактировалось TinMan; 15.05.2012 в 09:56.
TinMan вне форума Ответить с цитированием
Старый 15.05.2012, 12:17   #3
Наталья1991
Пользователь
 
Регистрация: 14.05.2012
Сообщений: 11
По умолчанию

хоть кто-то откликнулся на мою просьбу! ))
может я чего-то не понимаю...скажи,если я создаю этот батник на диске D в отдельной папке,в которой есть документы с различными расширениями,то он будет работать именно с этими файлами?и лог файл будет создаваться там же?

по поводу 2 пункта-это слово в слово задание преподавателя ))) я сама его не особо понимаю...В особенности "..файл,который формирует первый" =)) Но по идее,наверное,этот батник должен выводить количество перемещенных файлов из 1 задания. (хотя какой смысл,если в 1 задании всё записывается в лог файл). Ну моё дело принести,что от меня просят

жду помощи!!!)
Наталья1991 вне форума Ответить с цитированием
Старый 15.05.2012, 12:52   #4
Наталья1991
Пользователь
 
Регистрация: 14.05.2012
Сообщений: 11
По умолчанию

моего развития видимо не хватает ))) Но у меня твой батник не работаетЗапускается,ошибок не выдаёт,но ни лога,ни папки не создается.Наверное,я что-то не так делаю
Наталья1991 вне форума Ответить с цитированием
Старый 15.05.2012, 13:21   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

созданный (c) TinMan батник требует указания параметров в командной строке.

т.е. батник нужно запускать из командной строки,
указывая после имени батника нужный каталог и нужное расширение
(если полное имя каталога содержит пробелы, то его имя должно в командной строке заключаться в двойные кавычки).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2012, 14:35   #6
Наталья1991
Пользователь
 
Регистрация: 14.05.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
созданный (c) TinMan батник требует указания параметров в командной строке.

т.е. батник нужно запускать из командной строки,
указывая после имени батника нужный каталог и нужное расширение
(если полное имя каталога содержит пробелы, то его имя должно в командной строке заключаться в двойные кавычки).
спасибо большое!)а что насчет лог файла?он по-прежнему не создается
Наталья1991 вне форума Ответить с цитированием
Старый 15.05.2012, 14:51   #7
Наталья1991
Пользователь
 
Регистрация: 14.05.2012
Сообщений: 11
По умолчанию

еще одна проблема...папку он создаёт с датой и заданным расширением,всё нормально.Но в неё он не перемещает эти файлы. Зато в папку other благополучно переместил все файлы, кроме файлов с расширением doc и txt (при указании параметров просила переместить файлы txt)
Наталья1991 вне форума Ответить с цитированием
Старый 15.05.2012, 22:17   #8
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Наталья1991 Посмотреть сообщение
хоть кто-то откликнулся на мою просьбу! ))
ну, извини.. не Брэд Питт.. всего лишь "хоть кто-то" я..

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

Что касается твоих вопросов - пожалуйста, пиши точно:
1. из какого фолдера запускался батник;
2. точную форму командной строки (включая параметры);
3. выдачу команды dir в обрабатываемом фолдере;
4. выдачу команды dir /s в обрабатываемом фолдере после запуска

Пожалуйста, пойми, все это очень важно и поможет разобраться, что не так.
И я добавлю еще один пункт явно, раз уж ты сама не понимаешь.
5. я не буду вообще отвечать совсем, если ты так и не удосужишься сказать спасибо за то, что я уже тебе сделал.
Успехов тебе.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 15.05.2012, 22:39   #9
Наталья1991
Пользователь
 
Регистрация: 14.05.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
ну, извини.. не Брэд Питт.. всего лишь "хоть кто-то" я..

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

Что касается твоих вопросов - пожалуйста, пиши точно:
1. из какого фолдера запускался батник;
2. точную форму командной строки (включая параметры);
3. выдачу команды dir в обрабатываемом фолдере;
4. выдачу команды dir /s в обрабатываемом фолдере после запуска

Пожалуйста, пойми, все это очень важно и поможет разобраться, что не так.
И я добавлю еще один пункт явно, раз уж ты сама не понимаешь.
5. я не буду вообще отвечать совсем, если ты так и не удосужишься сказать спасибо за то, что я уже тебе сделал.
Успехов тебе.
извини пожалуйста, обидеть не хотела!спасибо огромное за помощь тебе!дальше уж как-нибудь сама справлюсь
Наталья1991 вне форума Ответить с цитированием
Старый 16.05.2012, 02:18   #10
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Наталья1991 Посмотреть сообщение
извини пожалуйста, обидеть не хотела!спасибо огромное за помощь тебе!дальше уж как-нибудь сама справлюсь
Нет проблем )), и спасибо тебе за отзыв!
Давай, разбирайся, если что - спрашивай, отвечу с удовольствием.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать bat файл... nike0734 Фриланс 5 26.03.2012 11:08
написать bat файл, удаление файлов Юлясик Помощь студентам 1 06.03.2012 22:38
Написать командный bat файл vvsmvps Фриланс 3 22.05.2011 07:00
Помогите пожалуйста написать bat-файл!!! Vladimir007 Помощь студентам 5 20.12.2008 22:31