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

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

Вернуться   Форум программистов > Операционные системы > Операционные системы общие вопросы
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2011, 18:51   #211
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Empower
Создайте соответствующую тему во фрилансе, может кто и поможет.
Arigato вне форума Ответить с цитированием
Старый 04.01.2011, 14:36   #212
Empower
Новичок
Джуниор
 
Регистрация: 03.01.2011
Сообщений: 2
По умолчанию

Уже писал на многих форумах - безрезультатно. Может вы смогли б мне помочь, было бы здорово. У меня уже есть часть из нужного кода, так что думаю ето не займет много времени.

Последний раз редактировалось Empower; 04.01.2011 в 14:44.
Empower вне форума Ответить с цитированием
Старый 03.02.2011, 07:54   #213
chib_sv
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 65
По умолчанию

Здраствуйте помогите пожалуйста создать батник который архивировал папки и все что них (например: есть папка c:\январь 2011 в ней куча папок и других файлов, при запуске батника папка январь 2011 архивировалась и перемещалясь в папку C:\данные за год), делаю так "C:\Program Files\WinRAR\WinRAR.exe" a -r C:\данные за год\архив январь C:\январь 2011 Возникает проблема, я так подозреваю что не видяться папки с пробелами

Последний раз редактировалось chib_sv; 03.02.2011 в 09:39.
chib_sv вне форума Ответить с цитированием
Старый 03.02.2011, 10:19   #214
DedaGena
 
Регистрация: 03.02.2011
Сообщений: 4
По умолчанию

В общем в файле 1.txt хранятся адреса файлов которые нужно скопировать на диск I . По непонятной мне причине (я вообще первый раз пишу в bat) файлы не копируются(0 файлов скопировано). Вот сам код:

If Exist 1.txt (
For /F "Delims=" %i In (1.txt) do Set BmpPath=%~i
Xcopy "%BmpPath%" I:\123\ /H /Y
)

Подскажите, пожалуйста, где косяк в проге...
з.ы. кстати, когда пишу в for вместо %i %%i, то возникает ошибка "непредвиденное появление %%i"
DedaGena вне форума Ответить с цитированием
Старый 03.02.2011, 11:22   #215
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
Сообщение от chib_sv Посмотреть сообщение
Возникает проблема, я так подозреваю что не видяться папки с пробелами
Пути с пробелами надо брать в кавычки.

Цитата:
Сообщение от DedaGena
If Exist 1.txt (
For /F "Delims=" %i In (1.txt) do Set BmpPath=%~i
Xcopy "%BmpPath%" I:\123\ /H /Y
)
Тут нарушена логика. Переменная BmpPath определяется в цикле, но не используется, а после цикла она всегда будет содержать последнее значение. Вообще откажитесь от этой переменной и сразу выполняйте копирование для каждого %%i.

Цитата:
Сообщение от DedaGena
з.ы. кстати, когда пишу в for вместо %i %%i, то возникает ошибка "непредвиденное появление %%i"
Не знаю, что Вы там пишите, в командном файле надо писать %%, а непосредственно в командной строке просто %.
Arigato вне форума Ответить с цитированием
Старый 03.02.2011, 12:28   #216
chib_sv
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 65
По умолчанию

спасибо, но тут же возник другой вопрос, объясню на примере есть папка C:\отчеты\январь 2011 в которой папки 1, 2,3 и т.д. помещаются в C:\отчеты\данные за год\архив январь.rar Как сделать чтобы в архив помещались только папки 1,2,3 и т.д. Этим способом "C:\Program Files\WinRAR\WinRAR.exe" a -r "C:\отчеты\данные за год\архив январь" "C:\отчеты\январь 2011" архивируется весь каталог отчеты (при разархивировании что бы достать папки 1,2,3 .. прихродиться открывать c:\отчеты\январь 2011)
chib_sv вне форума Ответить с цитированием
Старый 03.02.2011, 12:54   #217
DedaGena
 
Регистрация: 03.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Тут нарушена логика. Переменная BmpPath определяется в цикле, но не используется, а после цикла она всегда будет содержать последнее значение. Вообще откажитесь от этой переменной и сразу выполняйте копирование для каждого %%i.

Не знаю, что Вы там пишите, в командном файле надо писать %%, а непосредственно в командной строке просто %.
Спасибо, а нельзя ли в цикле выполнять несколько команд?
DedaGena вне форума Ответить с цитированием
Старый 03.02.2011, 13:45   #218
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
Сообщение от DedaGena
Спасибо, а нельзя ли в цикле выполнять несколько команд?
Можно, их надо заключить в круглые скобки, как у Вас сделано в if.
Arigato вне форума Ответить с цитированием
Старый 03.02.2011, 15:49   #219
Vlero
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 22
По умолчанию

Цитата:
Сообщение от DedaGena Посмотреть сообщение
В общем в файле 1.txt хранятся адреса файлов которые нужно скопировать на диск I . По непонятной мне причине (я вообще первый раз пишу в bat) файлы не копируются(0 файлов скопировано). Вот сам код:

If Exist 1.txt (
For /F "Delims=" %i In (1.txt) do Set BmpPath=%~i
Xcopy "%BmpPath%" I:\123\ /H /Y
)
...
Вот пример моего backup.bat файла. Архиватор можно поставить любой, тот же RAR. Здесь смысл такой: создается архив с таким-то именем на диске D в поддиректории Имя - а дальше идет описание откуда.
Вот мой код:
Код:
rar a D:\Имя\far.rar c:\progra~1\Far\*.* -r -y
Предварительно необходимо создать:
Пуск->Мой компьютер->Свойства->Дополнительно->Переменные среды и там в "системных переменных" в строке path добавляем (кнопка "изменить") имя переменной PATH Значение переменной c:\progra~1\WinRAR (путь к архиватору).
В моём примере far.rar - имя создаваемого файла в поддиректории Имя, Far - имя архивируемого файла. Соответственно -r сохранять со всеми вложенными поддиректориями -y автоматически на все вопросы отвечать "да !"
Единственное - архиваторы из командной строки не любят "длинные пути" и не очень работают с кириллицей в именах директорий. В FAR-е нажимаю Ctrl+N и получаю сразу вид "коротких" путей.
Vlero вне форума Ответить с цитированием
Старый 03.02.2011, 16:13   #220
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Единственное - архиваторы из командной строки не любят "длинные пути" и не очень работают с кириллицей в именах директорий.
да Господь с Вами! С чего это Вы взяли? Или Вы имеете в виду DOS версии архиваторов 15-тилетней давности?! Давно уже консольные архиваторы полноценные приложения win32 - и, соответственно, нормально работают и с длинными именами, и с пробелами в именах и кириллицей...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для сохранения листов в отдельных файлах Neo007 Microsoft Office Excel 2 22.10.2008 18:16
Русская раскладка в bat-файлах snake-as Microsoft Office Excel 3 16.10.2008 17:59
Сортировка в файлах и записях. Паскаль Elizabeth Black Помощь студентам 2 27.05.2008 21:51
Помогите с вопросами о файлах Дима82 Помощь студентам 5 26.05.2008 19:49
Помогите, пожалуйста, решить задачу по файлах sheva_ser Паскаль, Turbo Pascal, PascalABC.NET 1 27.03.2008 19:36