Показать полную графическую версию : Вывод данных в несколько столбцов
Есть набор обновлений офиса (msp) типа KB981716-accwiz.msp, kb2289163-gpfilt-rus.msp, где первые буквы могут быть как в верхнем, так и в нижнем регистре. Скрипт
@echo off
for /f "delims=-" %%a in ('dir/b/a-d *.msp') do echo %%a
pause
выводит в один столбец имена обновлений. Подскажите, как вывести имена обновлений в верхнем регистре в несколько столбцов?
пример вывода в 5 столбцов:@echo off
SetLocal EnableDelayedExpansion
(
for /f "delims=-." %%a in ('dir/b/a-d kb*.msp') do (set "$a=%%a "
set "$s=!$s!KB!$a:~2,9!"& set/a $i+=1
if !$i! equ 5 echo:!$s!& set "$s="& set/a $i=0
))& echo:!$s!
pause>nul
Foreigner
29-06-2011, 06:46
sov44,
dir /d /a-d *.mst | findstr "\.mst"
amel27, супер! поясните пожалуйста код.
поясните пожалуйста код »
@echo off
SetLocal EnableDelayedExpansion
for /f "delims=-." %%a in ('dir/b/a-d kb*.msp') do (
set "$a=%%a " &rem: добавляем в конец имени файла
rem: пробелы [для выравнивания столбцов]
set "$s=!$s!KB!$a:~2,9!" &rem: добавляем в конец текущей строки [$s]
rem: "KB" и часть имени файла, начиная с 3-го
rem: символа длиной 9 символов [включая пробелы]
set/a $i+=1 &rem: увеличиваем счетчик столбцов [$i]
if !$i! equ 5 ( rem: если это последний столбец, то:
echo:!$s! &rem: выводим строку [$s]
set "$s=" &rem: зачищаем переменную строки [$s]
set/a $i=0 &rem: обнуляем счетчик столбцов [$i]
)
)
echo:!$s! &rem: выводим неполный остаток строки [$s]
Foreigner
29-06-2011, 17:31
sov44,
Вариант с верхним регистром:
@echo off
for /f "tokens=*" %%i in ('"dir /d /a-d *.msp | find "msp""') do (
for /f "tokens=2 delims=:" %%j in ('"2>&1 find /c /v "" "%%i""') do echo %%j
)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.