Вопрос о программе Total Commander, Софт вопросы
2.03.2018 - 22:09 |
AquaTour
Специалист
Группа: Пользователи Сообщений: 417 Регистрация: 4.07.2005 Пользователь №: 27.183
Респектов: 50
Предупреждений: 0
| nokeMoH, Утилита работает только с абсолютными путями к целевой папке. 1) Открыли консоль, перешли в папку C:\Soft, запускаем program.exe C:\Files > filelist.txt Результат: список нужных файлов в каталоге C:\Files, filelist.txt будет в папке C:\Soft 2) Открыли консоль, перешли в папку C:\Soft, запускаем program.exe D:\Files > C:\Logs\filelist.txt Результат: список нужных файлов в каталоге D:\Files, filelist.txt будет в папке C:\Logs 0x нужен, чтобы значения воспринимались как шестнадцатиричные, можете убрать, но тогда придется задавать десятичный код символа, на ваш выбор, можно даже в перемешку писать Сообщение отредактировал AquaTour - 2.03.2018 - 22:11 | |
| |
2.03.2018 - 23:08 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Ура ура, всё завелось и работает как нужно, с этим уже можно жить, спасибо большое можно пожалуйста узнать несколько уточнений... (1). Возможно ли как-то обойти подобное ограничение ?.. если нет, в моей ситуации это не так сильно страшно, можно и пренебречь, просто когда-нибудь, в какой-нибудь параллельной вселенной... возможно.., вдруг это окажется быть не пригодным.. » Spoiler « Слишком длинный путь или имя файла. Полное имя файла должно содержать меньше 260 знаков, а имя каталога - меньше 248 знаков. »» Нажмите, для закрытия спойлера | Press to close the spoiler «« (2). Как я понял, каждый раз для новых значений поиска, нужно перебивать значения в Program.cs и компилировать уже в новый program.exe файл с изменёнными данными, и далее всё те же команды для вывода результатов поиска в файл.. А нельзя ли этот процесс как-то более или менее автоматизировать ?, или эта уже совсем другая песня другого уровня программирования ?.. Я понимаю конечно что можно всё сделать за один подход через *.BAT файл, примерно вот так вот.. » BAT « Code c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe Program.cs cd /d C:\Soft program.exe C:\Files\ > C:\Soft\filelist.txt pause »» Нажмите, для закрытия спойлера | Press to close the spoiler «« но то что в ручную редактировать файл *.CS необходимо, это немного напрягает, хотя как я уже и говорил, жить можно.. Придумать какое-нибудь GUI окошко это очень тяжело ?.. с двумя полями, -- что нужно поискать, -- сколько нужно отступить .... Для одной единственной процедуры такая реализация была бы конечно бессмысленной, раз уж нету аналогичных подобной этой софтинке, вот я и подумал, а что если... вдруг... на Будущее.. Сообщение отредактировал nokeMoH - 2.03.2018 - 23:11 | |
| |
2.03.2018 - 23:32 |
AquaTour
Специалист
Группа: Пользователи Сообщений: 417 Регистрация: 4.07.2005 Пользователь №: 27.183
Респектов: 50
Предупреждений: 0
| 1) если установлен .NET 4.6.2 или выше, то можно попробовать создать файл app.config с содержимым из этого поста файл должен лежать рядом с программой. 2) Можно сделать чтобы параметры принимались через командную строку например запуск будет таким program.exe 0 616263 C:\Files > filelist.txt т.е. program.exe смещение паттерн путь Сообщение отредактировал AquaTour - 2.03.2018 - 23:47 | |
| |
2.03.2018 - 23:59 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Не могу у человека отнять его заслуженный сон, пожалуйста, если будет свободное время и желание, попробуйте сделать так, как Вы предложили, очень сильно был бы Вам благодарен.. » Нажмите, для открытия спойлера | Press to open the spoiler « например запуск будет таким program.exe 0 616263 C:\Files > filelist.txt т.е. program.exe смещение паттерн путь »» Нажмите, для закрытия спойлера | Press to close the spoiler «« Я ни чего на этот раз не перепутал, вот этот вот текст должен быть под именем app.config, а сам файл должен просто лежать в папке рядом с program.exe ?.. » app.config « Code <?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" /> </runtime> </configuration> »» Нажмите, для закрытия спойлера | Press to close the spoiler «« | |
| |
3.03.2018 - 0:04 |
AquaTour
Специалист
Группа: Пользователи Сообщений: 417 Регистрация: 4.07.2005 Пользователь №: 27.183
Респектов: 50
Предупреждений: 0
| Цитата | Quote(nokeMoH @ 3.03.2018 - 0:22) вот текст должен быть под именем app.config, а сам файл должен просто лежать в папке рядом с program.exe верно отредактировал пост с программой сейчас работает так program.exe 0 4D5A90 D:\Soft оффсет паттерн путь Сообщение отредактировал AquaTour - 3.03.2018 - 1:25 | |
| |
3.03.2018 - 13:39 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Это лайк, господа.. На столько идеально работает, что лучше уже и быть не могло.. AquaTour спасибо большое и ещё раз спасибо.. В процессе тестирования, столкнулся с небольшими проблемками, но интернет-сёрфинг помог их решить.. а именно: 1). Созданный *.BAT файл не работал с Пробелами.. 2). Созданный *.BAT файл не работал с Русскими именами.. 3). Когда первые два пункта были налажены, CMD окно всё равно отображало Кракозябы вместо русских букв.. Решение было таким: 1). Любые пути нужно взять в "Двойные ковычки"2). В начало *.BAT файла нужно было добавить chcp 1251 >nul3). Решился вопрос следующим образом.. В результате конечный готовый для работы *.BAT файл принял следующий вид.. » Program.bat « Code chcp 1251 >nul cd /d "C:\Папка где лежит program.exe" program.exe 0 616263 "C:\Папка где нужно искать файлы" > "C:\Папка куда сохранить лог\filelist.txt" pause »» Нажмите, для закрытия спойлера | Press to close the spoiler «« ----- ------- -------- ---- Файл app.config который лежит в той же папке что и program.exe, в процесс активации работы программы путём запуска *.BAT файла двойным кликом по нему, не избавляет от Слишком длинный путь или имя файла. Полное имя файла должно содержать меньше 260 знаков, а имя каталога - меньше 248 знаков.Этот файл app.config не нужно ни как задействовать внутри *.BAT файла или внутри program.exe чтобы он как-то смог повлиять на процесс работы утилиты ?.. Или необходим какой-нибудь другой манёвр ?.. если что-то ещё предпринять возможно.. Скачал и установил вот этот вот файл, размер которого 65.55 MB (68742112 byte) Win8 Профессиональная x64 | |
| |
3.03.2018 - 16:52 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Цитата | Quote(AquaTour @ 3.03.2018 - 16:56) nokeMoH, чтобы было получше с русскими буквами, можно попробовать использовать PowerShell В принципе, с русскими буквами в *.BAT чате уже всё в порядке, на процесс работы это ни как не влияло, нужный список создавался и конструировался должным образом, просто в процессе обработки, отображение информации в *.BAT окошке немного ломало глаза из-за крякозяб, мелочь, а приятно, и вроде бы ситуацию уже удалось стабилизировать.. Цитата | Quote(AquaTour @ 3.03.2018 - 16:56) 1) Собирать под фреймворк 4.6.2 но как это сделать не устанавливая доп софт я не знаю, так что могу отдать исходники и уже собранную версию 2) можно задействовать доп библиотеку, но тогда утилита будет состоять не из одного файла. Лишь бы работало.. Не совсем понятно что имеется в виду под доп.софтом, сам фреймворк 4.6.2 или что-то другое ещё к нему дополнительное.. А второй вариант разве не получиться полегче ?, с точки зрения пользователя, наверное полегше будет добавить нужную библиотеку в каталог с программой, чем устанавливать фреймворк 4.6.2 для её работы, при чём он устанавливается 15-20 минут в полной версии.. | |
| |
|
|