|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Обращение к самому новому/последнему файлу в папке |
|
CMD/BAT - Обращение к самому новому/последнему файлу в папке
|
Старожил Сообщения: 345 |
В папке создаются файлы с названиями вида: log210, log211, log212 и т.д.
Как лучше указать в bat на самый новый/последний файл в папке??? Условно говоря: Program.exe /F "C:\11\log212" надо заменить C:\11\log212 на новый последний файл. |
|
Отправлено: 10:56, 06-05-2019 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Вот пример.
Запускаю ниженаписанный батник для проверки и открывается окно paint, хотя должно появиться сообщение New file not created! @echo Off cls set "Mask=log*." set "BoxIn=C:\11\" set "Prg1=start /wait " " "C:\Program Files\Windows NT\Accessories\wordpad.exe"" set "Prg="C:\Windows\System32\mspaint.exe" set "OldFile=" for /F "usebackq delims=" %%f in (`2^>nul dir "%BoxIn%\%Mask%" /b /a:-d /o:-d /t:c`) do set "OldFile=%%f" %Prg1% for /F "usebackq delims=" %%f in (`2^>nul dir "%BoxIn%\%Mask%" /b /a:-d /o:-d /t:c`) do ( if /I "%%f"=="%OldFile%" (Echo !!! Last file "%BoxIn%\%OldFile%". New file not created! &Exit /B 1) start " " %Prg% exit /B ) echo !!! Folder Or Files "%BoxIn%\%Mask%" not found exit /B 2 |
Отправлено: 11:36, 15-05-2019 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Sisin, Вы зачем-то руками переписали мой батник. Там, похоже, куча ошибок. Теперь это уже Ваш код. Я бы не хотел в нём ковыряться и выискивать в чём загвоздка. Так, на не очень внимательный взгляд,
Set "BoxIn=C:\11" Set "Prg="C:\Windows\System32\mspaint.exe"" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D /O:D /T:C`) DO Set "OldFile=%%f" Такой for ломает логику скрипта. Обратите внимание, в моём коде ключи у Dir в двух For разные. Может, что-то еще извращено .... Возьмите мой код 1:1, поставьте в описаниях свои пути, программы по образцу моих. Я Вас умоляю, не надо ничего извращать. |
------- Последний раз редактировалось megaloman, 15-05-2019 в 12:21. Отправлено: 12:13, 15-05-2019 | #22 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Каюсь, невнимательность...
Причина в этом (/O:D): Цитата megaloman:
|
|
Отправлено: 12:48, 15-05-2019 | #23 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:39, 22-05-2019 | #24 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Knaps,
смотря какой принцип нумерации, даже последовательный по нарастанию, вот ваша строка в коде ниже, запустите код и убедитесь что будет выведен файл не с номером 31, как вы вероятно предполагаете: |
Отправлено: 15:41, 23-05-2019 | #25 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Спасибо за замечание, но при такой нумерации файл по имени не будет в самом конце, так что все в силе.
|
Отправлено: 19:54, 25-05-2019 | #26 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Knaps:
Цитата Knaps:
Цитата Sisin:
приведенная вами строка, еще раз повторяю, не даст правильного результата, мы не получим файл с максимальным номером вашей строкой при такой нумерации как я привел. Если бы нумерация была: log001, log002, ..., log210, log211, log212, то да, но это неизвестно пока ТС не просветит этот вопрос. |
|||
Отправлено: 00:01, 26-05-2019 | #27 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Цитата alpap:
Цитата alpap:
Рекомендую еще раз перечитать: Цитата Knaps:
|
|||
Отправлено: 20:19, 26-05-2019 | #28 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Knaps:
|
|
Отправлено: 16:32, 27-05-2019 | #29 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата alpap:
|
|
Отправлено: 10:17, 28-05-2019 | #30 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - [решено] Как получить доступ к файлу или папке | Vadikan | Microsoft Windows 2000/XP | 493 | 16-12-2017 11:16 | |
Доступ - [решено] Права доступа к файлу в папке Windows\System32 | jokeroto | Microsoft Windows 7 | 28 | 27-11-2014 21:08 | |
CMD/BAT - [решено] Задать атрибуты файлу/папке через скрипт | Habetdin | Скриптовые языки администрирования Windows | 15 | 21-11-2013 17:53 | |
VBS/WSH/JS - [решено] Присвоить атрибуты файлу/папке через скрипт | boss911 | Скриптовые языки администрирования Windows | 4 | 10-11-2009 06:19 | |
[решено] Обращение к папке | ManHack | Хочу все знать | 3 | 05-06-2008 14:24 |
|