0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 11
1

Копирование произвольного числа файлов, заданных аргументами, из текущего каталога в указываемый каталог

23.01.2014, 09:16. Показов 4675. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
помогите разобраться с файлом

Разработать командный файл, копирующий произвольное число файлов заданных аргументами из текущего каталога в указываемый каталог

Bash
1
2
3
4
5
6
7
8
9
10
@echo off
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo EXIT!
В общем все понятно, загвоздка в команде SHIFT.
Не могу понять что она делает и с какими иммено параметрами.

помогли с описанием.
@ переключение режима отображения команд на экране
echo off вывод сообщений
@echo off
set todir=%1 объявляем переменную = аргумент который передаю
:getfile метка (Метка должна находиться в отдельной строке и начинаться с двоеточия. )
shift — Изменение содержимого (сдвиг) под-ставляемых параметров для пакетного файла.
if "%1"=="" goto end если она пустая (проверка на пустой параметр)
copy %1 %todir% если не пустая копируем в copy dir
goto getfile возвращаемсЯ к гетфайле () (GOTO — передача управления содержащей метку строке па-кетного файла.)
set todir= чистим переменную
echo EXIT! выводим выход

Пожалуйста помогите разобраться.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2014, 09:16
Ответы с готовыми решениями:

Копирование произвольного числа файлов, заданных аргументами, из текущего каталога в указываемый каталог
Добрый день, друзья! Нужно написать такой bat-ник, в написании пакетных файлов совсем не силен,...

Копирование из текущего каталога всех файлов с расширением .txt, кроме одного указанного, в указанный каталог
Очень нужна помощь в написании бат файла или даже в исправлении. ниже задание и код,но нужно чтобы...

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

Резервное копирование файлов, заданных аргументами
Имеется такое задание: Я третий день изучаю bash и набросал очень примитивный код: ...

4
1744 / 349 / 41
Регистрация: 15.10.2012
Сообщений: 548
23.01.2014, 10:39 2
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Все переданные параметры (аргументы) можно получить, используя переменные %1, %2, %3 ... %9 в порядке их следования. Параметр %0 содержит имя командного файла. Команда SHIFT сдвигает параметры, при этом %1 попадает в %0, %2 попадает в %1,... Таким образом в цикле можно перебрать все параметры, обращаясь только к одному, скажем %1. Заодно получить доступ к параметрам, которые после девятого.

П.С.
Прочие детали команды SHIFT http://www.asf.ru/docs/cmd/shift.htm
0
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 11
23.01.2014, 11:16  [ТС] 3
shift работает с ?????
Bash
1
2
3
set todir=%1
и
copy %1 %todir%
а вот %1 и %1 как???????
0
Эксперт WindowsАвтор FAQ
18041 / 7644 / 891
Регистрация: 25.12.2011
Сообщений: 11,426
Записей в блоге: 17
23.01.2014, 23:21 4
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Предполагается, что первым аргументом задана папку, куда копировать а остальными - произвольное число файлов из текущего каталога.

Пример вызова батника из командной строки:

Bash
1
copyfiles.bat c:\temp file1.txt file2.txt file3.txt
gav_bog, а то? что Вы спросили нам не понять.
0
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 11
24.01.2014, 06:53  [ТС] 5
Спасибо большое! Разобрался
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2014, 06:53
Помогаю со студенческими работами здесь

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

Копирование каталога с сетевого диска в каталог на локальном диске с заменой всех подкаталогов и файлов
Dragokas, здравствуйте, помогите моей проблеме, поиски решений пока ни к чему не привели, может...

Создать каталог и скопировать туда все файлы из текущего каталога
помогите, пожалуйста! на языке bash создать скрит создающий в домашнем каталоге пользователя...

Копирование файла из каталога в каталог
Здравствуйте! может кто поможет? как скопировать файл в c:\2\???? напрямую!!!! Спасибо!!!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru