|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.09.2024, 22:26 | #1 |
Пользователь
Регистрация: 22.09.2023
Сообщений: 26
|
Вывести на экран все различия двух папок, имена которых передаются в качестве параметров (отличия искать в размерах, именах и атрибутах файлов)
Написал код, но при его вызове вообще ничего происходит
Вызов: 2-10.bat /compare "larg" "spol" КОД Код:
|
15.09.2024, 09:55 | #2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,674
|
fc выводит различия между файлами, а не папками. Можно так попробовать:
Код:
E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 15.09.2024 в 10:02. |
15.09.2024, 09:59 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,339
|
1. В командной строке нет логических операторов OR или AND. Они реализуются специфически. См. Сеть.
2. Для правильного повторного срабатывания скрипта необходимо принуждать скрипт к установке актуального значения некоторых переменных. В нашем случае это переменная res, которую ввели для реализации логической операции OR. Обратите внимание на строку: Код:
3. В скрипте устанавливается кодовая страница для вывода сообщения на кириллице и используется символ ">", который направляет сообщение, поступающее от команды CHCP, в nul-драйвер. Скрипт, реализующий вашу хотелку, может принять такой вид: Код:
Например, попробуйте создать файл с именем nul, com, prn, или с именем com1, com9, com11 PSS: После замечания от Arigato. Для сравнения файлов в папках возможно потребуется цикл for и модификаторы: Код:
Как-то так, ...
Последний раз редактировалось ViktorR; 15.09.2024 в 10:19. |
18.09.2024, 21:32 | #4 |
Новичок
Джуниор
Регистрация: 18.09.2024
Сообщений: 4
|
@echo off
if "%~1"=="/compare" ( if "%~2"=="" or "%~3"=="" ( echo Please specify both folder paths to compare. exit /b ) set "folder1=%~2" set "folder2=%~3" REM Проверка существования папок if not exist "%folder1%" ( echo Folder "%folder1%" does not exist. exit /b ) if not exist "%folder2%" ( echo Folder "%folder2%" does not exist. exit /b ) echo Comparing "%folder1%" and "%folder2%". robocopy "%folder1%" "%folder2%" /L /NJH /NJS /NC /ND /NS /NF exit /b ) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
char и varchar - различия в размерах | nickel-j | Microsoft Office Access | 3 | 03.06.2010 23:48 |
Что означает буква A в именах параметров? | mutabor | Общие вопросы Delphi | 12 | 28.03.2010 11:12 |
Вывести имена файлов, находящихся в папке | NSvirus | PHP | 2 | 14.10.2009 00:05 |
DOS команда для удаления всех файлов, имена которых содержат цифры | Samopal | Операционные системы общие вопросы | 1 | 23.12.2008 21:12 |
Как вывести на экран имена файлов текущего каталога? (С++) | Darw1n | Помощь студентам | 1 | 13.12.2008 11:10 |