Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] выравниваемые текста в bat

Ответить
Настройки темы
CMD/BAT - [решено] выравниваемые текста в bat

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


с помощью батника генерируется txt файл, как сделать, чтобы было нормальное выравнивание?
1. L1 0306.zip 26652 КБ GP
2. L1 0310.zip 17768 КБ GP
3. L1 2567.zip 35539 КБ GP
4. L2 0306.zip 8883 КБ GP
5. L3 0306.rar 8883 КБ GP
6. L3 0307.rar 1 КБ GP

Как сделать чтобы было нормальное выравнивание обьема по правому краю?
А именно вот так:

1. L1 0306.zip 26652 КБ GP
2. L1 0310.zip 17768 КБ GP
3. L1 2567.zip 35539 КБ GP
4. L2 0306.zip 8883 КБ GP
5. L3 0306.rar 8883 КБ GP
6. L3 0307.rar 1 КБ GP

Отправлено: 21:03, 01-07-2013

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


NibelungXXX, Попробуй
читать дальше »

Код: Выделить весь код
@echo off
setlocal

set "cnt=100"
for /f "tokens=*" %%i in ('cd') do set "name=%%~nxi"
for %%i in (*.rar *.zip) do call:1 "%%i"

set /a cnt-=100

1>"%name%.txt" (

    echo total: %cnt%
    echo name : %name%
    echo.
    echo  #      name       size     model
    echo --- ------------ -------- --------
    for /f "tokens=2 delims==" %%i in ('set file_') do echo %%i

)

goto:eof


:1
set /a cnt+=1

set /a n=cnt-100
set "n=???%n%"
set "n=%n:~-3%"

set "fname=????????????%~1"
set "fname=%fname:~-12%"

set /a size=%~z1 / 1024
set "size=?????????%size% KB"
set "size=%size:~-8%"

set "file_%cnt%=%n:?= % %fname:?= % %size:?= %    GP"

Как-то так:
Код: Выделить весь код
total: 8
name : test

 #      name       size     model
--- ------------ -------- --------
  1  L1 0024.rar    19 KB    GP
  2  L3 0306.rar     3 KB    GP
  3  L3 3311.rar     4 KB    GP
  4  L1 0018.zip    10 KB    GP
  5  L1 1233.zip     2 KB    GP
  6  L2 3335.zip     0 KB    GP
  7  L2 9909.zip     0 KB    GP
  8  L3 0307.zip     5 KB    GP

Последний раз редактировалось Foreigner, 07-07-2013 в 14:05.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:50, 07-07-2013 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Foreigner, спасибо все получилось, ваш скрипт понравился

Отправлено: 19:36, 07-07-2013 | #12


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите как побороться..
Появились архивы с part01, part02 и сбивают все выравнивание..

Суть программы, все архивы zip и rаr записывает в лог, по порядку, выше все расписано было..
Код: Выделить весь код
@echo off
setlocal

pushd "%cd%"
set "cnt=100"

for /f "tokens=*" %%i in ("%cd%") do set "name=%%~nxi"
for /f "delims=" %%i in ('dir /b/a-d "%cd%\*.zip" "%cd%\*.rar" 2^>nul') do call:1 "%%i"

set /a cnt-=100

1>"%cd%\%name%p.txt" (

    for /f "tokens=2 delims==" %%i in ('set file_') do echo %%i

)
popd
goto:eof


:1
set /a cnt+=1

set /a n=cnt-100
set "n=???%n%"
set "n=%n:~-3%"

set "fname=%~1"
set "fname=%fname:~-30%"

set /a size=%~z1 / 1024 +1
set "size=?????????%size% KБ"
set "size=%size:~-10%"

set "file_%cnt%=%n:?= %.	%fname:?= %		%size:?= %	CD %	DVD "

Стало с этими part01 криво писать, потому что название отличается ровно на табуляцию((..Выглядит так:
Код: Выделить весь код
  1.	bakup 0802.zip		   4272 KБ	CD 	DVD 
  2.	bakup 0802.part01.rar		  70411 KБ	CD 	DVD 
  3.	bakup 0802.rar		 145815 KБ	CD 	DVD
а надо так:
Код: Выделить весь код
  1.	bakup 0802.zip		   4272 KБ	CD 	DVD 
  2.	bakup 0802.part01.rar	  70411 KБ	CD 	DVD 
  3.	bakup 0802.rar		 145815 KБ	CD 	DVD

Последний раз редактировалось NibelungXXX, 12-08-2013 в 18:37.


Отправлено: 18:24, 12-08-2013 | #13


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


NibelungXXX, попробуйте такую:

читать дальше »
Последнюю строку Вашего скрипта удалить.
Добавить:

Код: Выделить весь код
call :EchoTab "%n:?= %.	%fname:?= %" 4 "%size:?= %	CD %	DVD" "file_%cnt%"
exit /B

:EchoTab
:: %1 - текст до табуляции
:: %2 - максимальное кол-во знаков табуляции в конце текста
:: %3 - текст после табуляции
:: %4 - переменная, куда сохраняем результат
  set "text=%~1"
  set tabs=%~2
  for /L %%C in (7,8,200) do (
    if "!text:~%%C,1!" neq "" (set /A tabs-=1) else (goto ext_EchoTab)
  )
  :ext_EchoTab
  for /L %%C in (1,1,%tabs%) do set "text=!text!	"
  set "%~4=%text%%~3"
exit /B
Вторая строка - вместо setlocal напишите setlocal EnableDelayedExpansion


См. call :EchoTab - я там 4 поставил (в первой строке). Можете подкорректировать под себя макс. кол-во TAB-ов.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:38, 14-08-2013 | #14


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Diskretor, спасибо, правда не работала, пока вот так не сделал:
Код: Выделить весь код
call :EchoTab "  %n:?= %. %fname:?= %" 4 "%size:?= %   CD  DVD %%" "file_%cnt%"

Отправлено: 20:34, 14-08-2013 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] выравниваемые текста в bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat Андрей_Угаров@vk Скриптовые языки администрирования Windows 17 15-12-2022 18:47
CMD/BAT - как сделать .bat который выполнит поиск нужного текста с заменой не нужного на нужный ***b.m.m.c.b*** Скриптовые языки администрирования Windows 3 01-03-2018 09:53
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле InVariable Скриптовые языки администрирования Windows 4 22-05-2015 20:06
CMD/BAT - Поиск и замена текста через bat Lilless Скриптовые языки администрирования Windows 0 28-02-2012 02:08
CMD/BAT - [решено] программа(.bat файл) которая случайным образом запускает .bat файлы из предложенных gangsterovich Скриптовые языки администрирования Windows 1 07-12-2010 06:45




 
Переход