|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Определение и работа с некорректными именами файлов |
|
CMD/BAT - Определение и работа с некорректными именами файлов
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать
CMD очень не любит имена файлов со всякими !, скобками и прочими символами. Но если попадаются такие - хотелось бы их если не обрабатывать, то хотя бы сообщать скрипту об этом. По конкретике:
for /R %%a in (.) do (set TKatD="%%a"&if "%%a"==!TKatD! (call :ObrabKat)) exit /b :ObrabKat echo %TKatD% set TKat=%TKatD% exit /b C:\Users\1\Temp\MS-DOS_Flash>(set TKatD="C:\Users\1\Temp\MS-DOS_Flash\!!!MS-DOS-ver.5-7 (ms-dos.biz)!!!\." & if "C:\Users\1\Temp\MS-DOS_Flash\!!!MS-DOS-ver.5-7 (ms-dos.biz)!!!\." == !TKatD! (call :ObrabKat ) ) C:\Users\1\Temp\MS-DOS_Flash>echo "C:\Users\1\Temp\MS-DOS_Flash\\." "C:\Users\1\Temp\MS-DOS_Flash\\." C:\Users\1\Temp\MS-DOS_Flash>set TKat="C:\Users\1\Temp\MS-DOS_Flash\\." Далее мне надо войти в данный каталог и уже в нём прошустрить файлы. И, само собой, команда не обрабатывается корректно. Тут попытался выйти из положения втавив туда, где имя каталога ещё полное - (cd %%a) - трассировка пишет, что подставляется в строку вроде то, но нет, не срабатывает такой фокус, не заходит. P.S. Уже на моменте написания я нашёл частичное решение - сравнение нашей переменной и текущего каталога - в этом случае хотя бы пропускается косячные. Но всё равно общий вопрос - почему так происходит остаётся открытым. |
|
Отправлено: 15:25, 17-11-2021 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата ChimMAG:
|
|
Отправлено: 19:02, 18-11-2021 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Iska, ну что вы) Posh еще не до конца изучен. Как-то слишком быстро работают на нем скрипты.
Даже если posh помог вам решить задачу, при следующей потребности опять придется писать скрипт. А еще, вон, у меня друг есть, который до сих пор ни разу не пользовался пошем, и нормально же живет. |
Отправлено: 23:35, 18-11-2021 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Fors1k, я имею в виду, что «голые» native командлеты, даже с учётом прокладки в виде .Net Framework, могут исполняться достаточно быстро. Но как только дело доходит до: обработки строк, выделения памяти, сборки мусора, не говоря уже про циклы и т.п. — PoSH становится весьма нетороплив, как и любой другой интерпретируемый язык. Чистый C с ассемблерными вставками в критических местах остаётся самым шустрым вариантом (из приемлемых по скорости программирования) для написания «фильтров» (что-то подали на вход — что-то получили на выходе).
|
Отправлено: 23:14, 19-11-2021 | #13 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать ChimMAG, Когда-то вычитал заповедь: не перепрограммируй функцию квадратного корня. Неужели нельзя найти что-то профессиональное готовое для сбора какой-то статистики?
|
------- Отправлено: 00:25, 20-11-2021 | #14 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Iska, я, так сказать, частично не про пош говорил
|
Отправлено: 01:41, 20-11-2021 | #15 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Операция с именами файлов | rider42 | Скриптовые языки администрирования Windows | 26 | 08-12-2018 21:20 | |
CMD/BAT - Перемещение файлов в папки с аналогичными именами | londondron | Скриптовые языки администрирования Windows | 12 | 22-03-2017 15:22 | |
CMD/BAT - Создание папок и файлов со с случайными именами. | Kirstem | Скриптовые языки администрирования Windows | 0 | 26-04-2015 20:06 | |
CMD/BAT - работа с 2 текстовыми файлами, именами файлов и всё в цикле | Тишина | Скриптовые языки администрирования Windows | 4 | 15-07-2012 20:26 | |
Проблема с русскими именами файлов | iml | Общий по Linux | 7 | 25-09-2006 12:40 |
|