Googler
Сообщения: 3665
Благодарности: 1563
|
Профиль
|
Отправить PM
| Цитировать
Цитата Diskretor:
1) В конце строки всегда печатается символ "двоеточие".
2) Нельзя печатать текст из символов, которые не могут быть использованы в имени файла |\:"<>?/*, а также . (точка) и другие служебные CMD.
3) Строка всегда заканчивается переносом каретки.
4) В сценарии используется символ BackSpace (для функции отступа), который нельзя создать обычным блокнотом ^_^ »
|
п.1 можно решить помещением BackSpace в файл
п.4 уже решен:
читать дальше »
Код:
@echo off
setlocal EnableDelayedExpansion
call :BL.String.CreateBS_ESC
for /L %%n in (1,1,10000) DO (
<nul set /p "=!BS!!BS!!BS!!BS!!BS!%%n"
)
goto :Eof
:BL.String.CreateBS_ESC
:: Creates two variables with one character BS=Ascii-08 and ESC=Ascii-27
:: BS and ESC can be used with and without DelayedExpansion
:: @attention $H produce a <BS><space><BS>, so we need # and <space> as delims
setlocal
for /F "tokens=1,3 delims=# " %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
ENDLOCAL
set "BS=%%a"
set "ESC=%%b"
goto :EOF
)
goto :eof
|
Отправлено: 14:50, 13-08-2013
| #6
|