Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Moxito6
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 20
1

Чтение первых 10-и строк из текстового файла

14.07.2018, 17:07. Просмотров 274. Ответов 14
Метки нет (Все метки)

Доброго времени суток. В папке "Documents" (документы) есть папка с названием "wasd", а в папке файл, в котором нужно прочитать первые 10 строк, с названием "wasdd,txt". Пожалуйста, помогите. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2018, 17:07
Ответы с готовыми решениями:

Удаление первых n строк текстового файла
Доброго времени суток! Приветствую всех обитателей данного форума! Господа...

Вырезать из одного текстового файла определённое количество первых строк и вставить их в другой
Здравствуйте. Пожалуйста, помогите создать батник. Необходимо, чтобы из...

Удаление определённого количества первых символов в каждой строке текстового файла
Здравствуйте, подскажите пожалуйста. Имеется текстовый файл, в котором на...

Нумерация строк текстового файла
Написать командный файл для нумерации рядков текстового файла, название файла...

Не используя «SET /P», вывести 5 первых строк из файла
Добрый день шаманы. Помогите пожалуйста с написание батника. Необходимо не...

14
alpap
1457 / 1173 / 382
Регистрация: 26.04.2015
Сообщений: 4,130
14.07.2018, 17:33 2
Windows Batch file
1
2
3
4
5
6
7
@echo off
set "f=file.txt"
set strF=3
set strE=11
 
<"%f%" (for /f "tokens=2 delims=[]" %%a in ('"for /l %%a in (%strF%,1,%strE%) do @find /n /v ""|find "[%%a]""') do @echo:%%a)
pause
1
FlasherX
524 / 242 / 98
Регистрация: 06.06.2017
Сообщений: 1,007
14.07.2018, 18:12 3
Windows Batch file
1
2
3
4
5
6
@echo off&setlocal enabledelayedexpansion
 
for /f "eol=H skip=1 delims=" %%# in ('reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell" "Folders /v Personal') do call set "Docs=%%#"
for /f "delims=" %%# in ('type !Docs:~26!\wasd\wasdd.txt') do echo %%#&&set /a c+=1&&if !c!==10 goto:next
:next
pause
0
Moxito6
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 20
15.07.2018, 06:49  [ТС] 4
Цитата Сообщение от alpap Посмотреть сообщение
set "f=file.txt"
set strF=3
set strE=11
<"%f%" (for /f "tokens=2 delims=[]" %%a in ('"for /l %%a in (%strF%,1,%strE%) do @find /n /v ""|find "[%%a]""') do @echo:%%a)
Системе не удается найти указанный путь.

Добавлено через 9 минут
Таааак... А если папка с пробелами? Как вписывать, чтобы работало?
0
FlasherX
524 / 242 / 98
Регистрация: 06.06.2017
Сообщений: 1,007
15.07.2018, 07:58 5
Цитата Сообщение от Moxito6 Посмотреть сообщение
Таааак... А если папка с пробелами?
Судя по папке, это мне вопрос? В 4 строке взять путь в кавычки: ...type "!Docs:~26!\wasd\wasdd.txt"')...
0
YuS_2
Любознательный
756 / 544 / 177
Регистрация: 10.03.2016
Сообщений: 1,255
15.07.2018, 09:47 6
Цитата Сообщение от Moxito6 Посмотреть сообщение
В папке "Documents" (документы) есть папка с названием "wasd", а в папке файл, в котором нужно прочитать первые 10 строк, с названием "wasdd,txt".
Если поправить опечатку:
Windows Batch file
1
2
3
4
@echo off
set "file=wasdd.txt"
powershell -exe bypass -c "&{gc ([environment]::getfolderpath('mydocuments')+'\%file%') -total 10 -enc OEM}"
pause
Если то была не опечатка, то исправьте название файла в коде...
0
alpap
1457 / 1173 / 382
Регистрация: 26.04.2015
Сообщений: 4,130
15.07.2018, 12:54 7
Цитата Сообщение от Moxito6 Посмотреть сообщение
Системе не удается найти указанный путь
а соображалки не хватило заменить:
Цитата Сообщение от alpap Посмотреть сообщение
set "f=file.txt"
на:
Windows Batch file
1
set "f=%UserProfile%\Documents\wasd\wasdd.txt"
1
Moxito6
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 20
15.07.2018, 13:47  [ТС] 8
Проблема решена. Лучшего ответа нету.

Windows Batch file
1
2
3
4
5
6
7
8
9
setlocal enabledelayedexpansion
set lines=10
cd /d %userprofile%\Documents\wasd\
for /f "usebackq delims=" %%i in ("wasd2/wasdd.txt") do (
 echo %%i
 set /a lines=!lines!-1
 if !lines!==0 goto exitFor
)
:exitFor
0
FlasherX
524 / 242 / 98
Регистрация: 06.06.2017
Сообщений: 1,007
15.07.2018, 13:53 9
alpap, благодаря вкладке Расположение в свойствах, Documents могут оказаться не в %UserProfile%.

Добавлено через 5 минут
Цитата Сообщение от Moxito6 Посмотреть сообщение
Лучшего ответа нету.
Это бабка надвое сказала. Суть та же, что у меня, только счётчик в обратную сторону, и нет более точного определения расположения.
0
alpap
1457 / 1173 / 382
Регистрация: 26.04.2015
Сообщений: 4,130
15.07.2018, 14:00 10
FlasherX,
может, не спорю, в данном случае где надо.

Добавлено через 5 минут
Цитата Сообщение от Moxito6 Посмотреть сообщение
"wasd2/wasdd.txt"
почему не заходить непосредственно в wasd2 и слеш не в ту сторону стоит.
0
bidstrup
128 / 39 / 5
Регистрация: 11.03.2018
Сообщений: 179
17.07.2018, 07:35 11
Если Windows 10, можно использовать возможности wsl:
Windows Batch file
1
type wasdd.txt | wsl sed -n 1,10p
0
YuS_2
Любознательный
756 / 544 / 177
Регистрация: 10.03.2016
Сообщений: 1,255
17.07.2018, 10:48 12
Цитата Сообщение от bidstrup Посмотреть сообщение
Если Windows 10, можно использовать возможности wsl
Код
bash
-- Бета-версия компонента --
Будет выполнена установка среды Ubuntu в Windows. Она предоставляется Canonical
и лицензирована в соответствии с условиями компании, с которыми можно ознакомиться здесь:
https://aka.ms/uowterms

Приложение, которое вы пытаетесь запустить, не поддерживается в этой версии Windows.
Вот такие вот возможности...
0
bidstrup
128 / 39 / 5
Регистрация: 11.03.2018
Сообщений: 179
17.07.2018, 11:50 13
нужен April 2018 Update ( build 1803 )
0
YuS_2
Любознательный
756 / 544 / 177
Регистрация: 10.03.2016
Сообщений: 1,255
17.07.2018, 15:23 14
Цитата Сообщение от bidstrup Посмотреть сообщение
нужен April 2018 Update ( build 1803 )
Вот и я о том же, проще взять портированный sed и использовать его, да хоть в XP...
Кстати, никакие type ему не требуются...
0
bidstrup
128 / 39 / 5
Регистрация: 11.03.2018
Сообщений: 179
17.07.2018, 18:45 15
Цитата Сообщение от YuS_2 Посмотреть сообщение
проще взять портированный sed
Не, wsl прикольнее, да и ребята разработчики, видно, стараются, прогресс налицо, что-то неплохое должно из этой штуки получиться.

Есть у меня ощущение, что основные популярные unix-утилиты grep, sed etc Microsoft введёт всё-таки в стандартный набор
( как curl и openssh ).

Добавлено через 6 минут
Кстати, портированного под Windows postfix в природе не существует,
а с wsl - пожалуйста, живёт.
0
17.07.2018, 18:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2018, 18:45

Удаление определённых строк из текстового файла
помогите, нужен батник удаляющий определенные строки из текстового файла.

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

Сложение чисел, получаемых из строк текстового файла
Всем привет! Ребят, помогите пожалуйста. (искал много, читал много но так и не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru