На главную страницу сайта celitel.info
Вы не вошли в систему! [ ВОЙТИ ] или [ ЗАРЕГИСТРИРОВАТЬСЯ ]
CELITEL » Справочник команд bat/cmd » Тема: Как подставить в переменную подстроку N-ой строки ?   | Перейти в: 

Послал Сообщение
healer
Администратор
Из:Москва
Сообщения:24467
Я так полагаю, что это можно было сохранить в файл и запустить))
Для просмотра результата удобнее в конце поставить PAUSE.
Почему способ странный.
Фактически во временной директории создается файл, туда записывается переменная, а затем определяется длина файла, которая равна длине переменной плюс два стандартных (для windows)символа. См. таблица кодов символов Windows.

В привычных языках программирования такой подход вызвал бы недоумение.
Однако в BAT нет стандартного способа определения длины переменной, а способ определения длины файла есть.
Вот и приходится извращаться.

Обычно операции создания файла, запись данных в файл не относят к быстрым.
Поэтому я ожидал подтормаживания при выполнении такой процедуры.
При тестировании я этого не заметил.
Собственно, именно поэтому при описании присутствует такой комментарий - "как ни странно - достаточно быстрый".

Несмотря на то, что способ не подтормаживает, в чистом виде я бы настоятельно его не рекомендовал.
Даже на беглый взгляд видны его серьезные недостатки.
Что будет, если одновременно несколько программ будут выполнять такой скрипт?
Есть ли полная гарантия, что при определении размера файла в файле сейчас находиться именно ваша переменная, а не перезаписанная другим процессом?
Или нужно несколько переделать исходный код.
1. Использовать уникальное имя временного файла.
2. После использования файла - удалить его. (Оставлять за собой мусор - плохой тон)

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.



Статистика

Сейчас у нас: и 3 Гостя(ей)
Всего сообщений: 26682
Всего тем: 1151

Based on:

 

  my counter Valid XHTML 1.0 Strict Valid CSS!