Как сделать “разность-r” UNIX в Windows Cmd Prompt?

Вот пример InputFilter, который позволяет довести до 4 цифр до десятичной точки и максимум 1 цифру.

Значения, которые edittext позволяет: 555.2, 555, .2

Значения, которые выделяют блоки: 55555.2, 055.2, 555.42

        InputFilter filter = new InputFilter() {
        final int maxDigitsBeforeDecimalPoint=4;
        final int maxDigitsAfterDecimalPoint=1;

        @Override
        public CharSequence filter(CharSequence source, int start, int end,
                Spanned dest, int dstart, int dend) {
                StringBuilder builder = new StringBuilder(dest);
                builder.replace(dstart, dend, source
                        .subSequence(start, end).toString());
                if (!builder.toString().matches(
                        "(([1-9]{1})([0-9]{0,"+(maxDigitsBeforeDecimalPoint-1)+"})?)?(\\.[0-9]{0,"+maxDigitsAfterDecimalPoint+"})?"

                        )) {
                    if(source.length()==0)
                        return dest.subSequence(dstart, dend);
                    return "";
                }

            return null;

        }
    };

    mEdittext.setFilters(new InputFilter[] { filter });
26
задан Binary Worrier 18 June 2009 в 07:33
поделиться

6 ответов

Самый простой способ - загрузить diff для Windows: http://gnuwin32.sourceforge.net/packages/diffutils.htm
Вы также можете сделать что-то вроде:

dir directory1 > dir1
dir directory2 > dir2
comp dir1 dir2

Кроме того, некоторые версии Windows поставляются с windiff, однако это инструмент с графическим интерфейсом

8
ответ дан carlpett 15 October 2019 в 08:04
поделиться

Вы можете использовать утилиту windiff, включенную в Windows, начиная с версии NT и выше. Просто запустите «windiff», и появится графический инструмент.

Файл -> Сравнить каталоги

http://msdn.microsoft.com/en-us/library/aa266122 (VS.60) .aspx

В этой статье описывается, как использовать его из командной строки. Большим преимуществом этого инструмента является то, что он уже включен, и вам не нужно ничего скачивать и устанавливать.

2
ответ дан derekerdmann 15 October 2019 в 08:04
поделиться

Частичное решение с помощью ROBOCOPY

Частичное решение (и, таким образом, для меня, к сожалению, «нерешение», хотя у меня изначально были на это большие надежды), которое может быть или не быть достаточным для вас:

Похоже, инструмент ROBOCOPY можно (ab-) использовать для рекурсивного сравнения своего рода бедного человека ; с досадным ограничением, что он, по-видимому, не сравнивает содержимое файла . Кажется, для сравнения размеры, даты и, необязательно, атрибуты . Магическое заклинание для этого было бы:

ROBOCOPY path1 path2 /e /l /ns /njs /njh /ndl /fp /log:result.txt /it

где options , означающее , кажется:

  • /e - recurse , включая пустые каталоги;
  • /l - только печатать журнал, не изменять файлы;
  • /ns /njs /njh - не печатать размеры файлов, задания итоги, заголовок задания;
  • /ndl - «не регистрировать имена папок»
    • ПРИМЕЧАНИЕ: по сообщениям, это приведет к пропуску пропущенных / лишних пустых папок; если вы не используете это, они должны быть зарегистрированы, но вам придется каким-то образом удалять не отличающиеся каталоги другими способами;
  • /log:result.txt - записывать результаты в 'result файл .txt '; Я думаю, что это может быть опущено, и результат будет показан на стандартном выводе.

Дополнительные опции:

Предупреждение: НЕ сравнивать содержимое файла

Как я уже говорил выше, это, к сожалению, не для сравнения содержимого файла. Я проверил это, выполнив сначала следующую команду:

mkdir d1\a\b d2\a\b & echo x > d1\a\b\f & echo y > d2\a\b\f

В большинстве случаев это должно приводить к файлам d1 \ a \ b \ f и d2 \ a \ b \ f с одинаковыми временными метками, вы можете проверить с dir d1\a\b\f d2\a\b\f. robocopy вызов на d1 & amp; d2 дал пустой набор результатов для меня.

0
ответ дан Community 15 October 2019 в 08:04
поделиться

В Windows 10 вы можете запустить команду diff в bash, включив Linux Bash Shell

0
ответ дан krpra 15 October 2019 в 08:04
поделиться

Установите Cygwin , и вы можете использовать diff -r в Windows.

19
ответ дан 28 November 2019 в 07:06
поделиться

Команда comp для Windows - это то, что вы ищете для.

Вот пример:

Чтобы сравнить содержимое каталога C: \ Reports с резервным каталогом \\ Sales \ Backup \ April, введите:

comp c:\reports \\sales\backup\april 
14
ответ дан 28 November 2019 в 07:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: