Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   CMD-файл, обеспечивающий обмен файлов в двух каталогах (http://forum.oszone.net/showthread.php?t=188790)

stAlexey 19-10-2010 20:07 1522553

CMD-файл, обеспечивающий обмен файлов в двух каталогах
 
Здравствуйте, я учусь в вузе и получил следующее задание: написать CMD-файл, обеспечивающий обмен файлов в двух каталогах. Описание одного каталога задается переменной окружения CATALOG. Описание другого каталога передается через список параметров. В каталогах могут находиться одинаково поименованные файлы. В случае отсутствия целевого из каталогов он должен быть создан.
Дело в том, что это задание по предмету за предыдущий курс, и мне необходимо его выполнить для сдачи академической разницы. В лекциях за прошлый год, которые я взял у одногруппников, нет толкового описания как написать что-то похожее. В общем, я не совсем понимаю как выполнить это задание, не могли бы вы мне помочь?

kiripanda 20-10-2010 00:19 1522711

Код:

@echo off
if not defined CATALOG (echo Не задана переменная CATALOG & pause & exit)
if "%~1"=="" (echo Не задан второй каталог & pause & exit)

move /y "%CATALOG%" "%CATALOG%.tmp" > nul
move /y "%~1" "%CATALOG%" > nul
move /y "%CATALOG%.tmp" "%~1" > nul


stAlexey 21-10-2010 09:42 1523764

К сожалению, я полный ноль в скриптописании. Каким образом задать переменную CATALOG?

kiripanda 21-10-2010 18:09 1524178

Код:

set "CATALOG=d:\CATA\LO\G"

stAlexey 23-10-2010 18:12 1525620

О, как я вам благодарен =)
Остался один маленький вопрос. Я делаю запуск с параметром так: создаю ярлык и в его свойствах пишу параметр, можно ли задать параметр, не создавая ярлыка?

kiripanda 23-10-2010 19:46 1525677

a) запускать из командной строки: обмен.cmd "d:\2-я папка"
б) бросать 2-ю папку на ярлык (да, ярлык нужен)
в) вставить строку SET /P variable=Введите [путь]название 2-й папки... (не через параметры и в батнике нужно заменить все "%~1" на "%variable%")


Время: 18:16.

Время: 18:16.
© OSzone.net 2001-