|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скопировать файл если он отличается от оригинала |
|
CMD/BAT - [решено] Скопировать файл если он отличается от оригинала
|
Пользователь Сообщения: 60 |
Профиль | Отправить PM | Цитировать Нужно проверить существует ли файл и равен ли его CRC заданному Если нет то скопировать файл.
Есть програмка CRC32 выдающая результат в виде полный_путь_к_файлу - CRC32: XXXXXXX если файла нет то она выдает пустую строку Как засунуть это условие в IF? PS Вместо CRC можно использовать просто размер файла. |
|
Отправлено: 17:42, 16-08-2010 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать GhostKU,
Самый простой способ (надо еще посмотреть на отработку 32бит точности)... Echo on&Chcp 1251&CLS Set ORG="F:\rad45782.txt" & Set Chk="F:\!!!HTC Wildfire.txt" Set DST="F:\Новая папка" call :Checking %ORG% %Chk% pause&goto :EOF :Checking If /i %~z1 GTR %~z2 Copy %ORG% %DST% rem вместо Chk можно использовать эталонное число... rem тогда вместо %~z2 будет %Chk% rem размер в байтах |
Последний раз редактировалось deepred, 17-08-2010 в 10:39. Отправлено: 18:12, 16-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Большое спасибо
Что такое Cs в первой строке? На нем "прерывается" выполнение. Что означает конструкция %~z1 ? Как изменить Ваш скрипт чтобы ORG и DEST тоже передавались как параметры подпрограммы? Echo on&Chcp 1251&Cs Set ORG="F:\rad45782.txt" & Set Chk="F:\!!!HTC Wildfire.txt" Set DST="F:\Новая папка" call :Checking %ORG% %Chk% %DST% pause&goto :EOF :Checking If /i %~z1 GTR %~z2 Copy %ORG% %DST% rem вместо Chk можно использовать эталонное число... rem тогда вместо %~z2 будет %Chk% rem размер в байтах |
Отправлено: 10:03, 17-08-2010 | #3 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать GhostKU,
Cs - это опечатка, должно быть CLS. Цитата GhostKU:
Цитата GhostKU:
Ваше изменение не играет ни какой роли... |
||
Отправлено: 10:37, 17-08-2010 | #4 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать В моем случае пакетник лежит на сетевой шаре и так и запускается \\server\share\file.cmd
Поэтому (в может и не поэтому) конструкция %~z1 не работает - пишет ошибка синтаксиса. Так как нужно проверять несколько файлов то хотелось бы "вызов пакетника с параметрами" На данный момент у мну получилость так: SET CFVCRC=31232 SET CFVORG=%AUXTOOLSD%\cmdow.exe SET CFVRES=%SYSTEMROOT%\System32\cmdow.exe CALL :CheckFileVersion %CFVCRC% %CFVORG% %CFVRES% SET CFVCRC=10000 SET CFVORG=%AUXTOOLSD%\file.exe SET CFVRES=%SYSTEMROOT%\System32\file.exe CALL :CheckFileVersion %CFVCRC% %CFVORG% %CFVRES% :CheckFileVersion %AUXTOOLSD%\sizeof.exe /r %CFVRES% if ERRORLEVEL %CFVCRC% goto :EOF Copy %CFVORG% %CFVRES% PS В процессе решения данной проблемы возникла другая (может оно конечно не связано) Но теперь в скрипте перестала работать консртукция echo. (вывод пустой строки) - ругается мол "echo." Не является внутренней или внешней командой. |
|
Отправлено: 11:34, 17-08-2010 | #5 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:15, 17-08-2010 | #6 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:40, 17-08-2010 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как скопировать заблокированный файл? | Sp01LeR | AutoIt | 3 | 12-03-2011 14:43 | |
Suse/OpenSuSE - Невозможно скопировать файл на диск | AlhimikRu | Общий по Linux | 3 | 09-03-2010 04:55 | |
Программе установки не удалось скопировать файл ... | .:[invisible]:. | Автоматическая установка Windows 2000/XP/2003 | 8 | 12-09-2009 12:42 | |
Как скопировать данные с диска если загрузка Windows невозможна? | Rudy | Microsoft Windows 2000/XP | 8 | 02-11-2006 19:02 | |
Чем отличается клиент-сервер от файл сервера? | averuga | Хочу все знать | 4 | 28-10-2004 10:38 |
|