как передать параметры в tortoiseproc.exe через файл? - PullRequest
1 голос
/ 17 апреля 2011

Я программно генерирую команду для отправки в cmd.exe с помощью Runtime.getRuntime.exec () из Java.

Команда tortoiseproc игнорирует команду вида

tortoiseproc /command:ignore /path:file1*file2*file3*...................filen

Как видите, параметр path занимает несколько файлов, и проблема возникает, когда эта строка превышает определенную длину ок.8197 символов, как описано в Microsoft KB для cmd.exe.

Обходной путь говорит, что изменяет программу так, чтобы она принимала параметры из файла, а не из строки командной строки.Кто-нибудь знает, как передать параметры tortoiseproc.exe через файл?

Ответы [ 3 ]

1 голос
/ 18 апреля 2011

Вы можете передать файл в формате utf16, каждый файл указан в отдельной строке.

Передайте путь к этому файлу с /pathfile:"path/to/file.txt"

0 голосов
/ 29 июня 2013

У меня была такая же проблема, и это мое решение для этого:

using (var s = File.Create("D:\\p3.tmp"))
{
    using (var sw = new StreamWriter(s, new UnicodeEncoding(false, false)))
    {
        sw.Write(@"D:\SourceCode\Utils\ProductProvider.cs" + '\n');
        sw.Write(@"D:\SourceCode\Utils\BillingProvider.cs"+ '\n');
    }
}

после создания файла я использую

TortoiseProc.exe /command:commit /pathfile:"D:\p3.tmp" /logmsg:"test log message" /deletepathfile
0 голосов
/ 17 апреля 2011

Нет, это невозможно.Однако в данном конкретном случае не имеет значения: вы можете разделить список файлов на несколько меньших и запустить tortoiseproc несколько раз.Пример:

tortoiseproc /command:ignore /path:file1*file2*file3*file4
tortoiseproc /command:ignore /path:file5*file6*file7*file8

и т. Д., До файла n .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...