Войти

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


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

kiripanda
20-10-2010, 00:19
@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
К сожалению, я полный ноль в скриптописании. Каким образом задать переменную CATALOG?

kiripanda
21-10-2010, 18:09
set "CATALOG=d:\CATA\LO\G"

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

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




© OSzone.net 2001-2012