Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Programmer 111
0 / 0 / 1
Регистрация: 15.12.2014
Сообщений: 12
1

Удаление первых 6-ти строк во всех текстовых файлах, находящихся в определённой папке

29.11.2015, 16:23. Просмотров 1188. Ответов 6
Метки нет (Все метки)

Привет. Пытаюсь создать BAT CMD файл удаляющий первые 6 строк в каждом файле папки. В папке приблизительно 170 файлов и таких папок 182 штуки. То есть вручную это делать, мягко говоря, не вариант. Имеется вот такой код для одного файла, но он не работает

Windows Batch file
1
2
3
4
5
for /f "skip=6 delims=*" %%a in ("C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory\1.txt") do (
echo %%a >>C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory\2.txt    
)
xcopy C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory\2.txt C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory\1.txt /y
del C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory\2.txt /f /q
ВОПРОС 1 - Как его заставить работать хотя бы для одного файла;
ВОПРОС 2 - Как его расширить, чтобы он работал для всех файлов в папке.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2015, 16:23
Ответы с готовыми решениями:

Замена части определённой строки во всех текстовых файлах заданной директории
Доброго день. Необходима помощь в написании bat, который бы заменил во всех файлаx (.txt) в...

Как создать разом ярлыки для всех папок и файлов, находящихся в определённой папке?
Есть папка в ней ещё много папок и под папок и разные файлы. Как разом создать ярлыки для все папок...

Удаление пустых строк в текстовых файлах
Дан текстовый файл, в котором встречаются пустые строки. Надо написать программу которая эти пустые...

Работа с файлами и каталогами. Удаление всех пустых строк у всех файлов лежащих в одной папке
В одной папке находится множество текстовых файлов *.txt Все файлы содержат некоторый текст Между...

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

6
ComSpec
3409 / 1953 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
29.11.2015, 19:05 2
Лучший ответ Сообщение было отмечено Programmer 111 как решение

Решение

Для одного файла:
Windows Batch file
1
2
3
4
5
6
7
@echo off
 
set "file=C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory\1.txt"
 
>.tmp more +6 "%file%"& >nul move .tmp "%file%"
 
exit/b
.


Для всех текстовых файлов в папке:
Windows Batch file
1
2
3
4
5
6
7
@echo off
 
set "dir=C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data\000\Trajectory"
 
for %%i in ("%dir%\*.txt") do >.tmp more +6 "%%i"& >nul move .tmp "%%i"& echo %%~nxi
 
exit/b
.
1
Programmer 111
0 / 0 / 1
Регистрация: 15.12.2014
Сообщений: 12
29.11.2015, 23:48  [ТС] 3
Спасибо, работает!

Добавлено через 3 часа 42 минуты
По ходу выполнения появился дополнительный вопрос. Попытался переделать код, чтобы работал по всем папкам в родительской папке. BAT файл доходит до определенного места (обрабатывает 9 папок) и останавливается...?
Windows Batch file
1
2
3
4
5
6
7
@echo off
 
set "dir=C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data"
 
for /R %%i in ("*.plt") do >.tmp more +6 "%%i"& >nul move .tmp "%%i"& echo %%~nxi
 
exit/b
0
ComSpec
3409 / 1953 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
30.11.2015, 00:37 4
Лучший ответ Сообщение было отмечено Programmer 111 как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
@echo off
 
set "dir=C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data"
 
for /r "%dir%" %%i in ("*.plt") do >.tmp more +6 "%%i"& >nul move .tmp "%%i"& echo %%~nxi
 
exit/b
1
Programmer 111
0 / 0 / 1
Регистрация: 15.12.2014
Сообщений: 12
30.11.2015, 01:19  [ТС] 5
Спасибо, но по прежнему доходит до определенного места и перестает удалять. В родительской папке 182 папки (в каждой примерно 170 файлов), слишком большая рекурсия видимо.

Добавлено через 34 минуты
Хотя скрипт на изменение расширения проходит все файлы во все папках.
Windows Batch file
1
2
3
4
5
6
7
8
9
@ECHO OFF
PUSHD .
FOR /R %%d IN (.) DO (
    cd "%%d"
    IF EXIST *.plt (
       REN *.plt *.txt
    )
)
POPD
0
alpap
1813 / 1331 / 433
Регистрация: 26.04.2015
Сообщений: 4,553
30.11.2015, 16:09 6
Лучший ответ Сообщение было отмечено Programmer 111 как решение

Решение

Попробуйте так изменить:
Windows Batch file
1
2
3
4
5
6
7
@echo off
 
set "dir=C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data"
 
for /f "delims=" %%i in ('dir /a-d /b /s "%dir%\*.plt"') do >.tmp more +6 "%%i"& >nul move .tmp "%%i"& echo %%~nxi
 
exit/b
.
1
Programmer 111
0 / 0 / 1
Регистрация: 15.12.2014
Сообщений: 12
30.11.2015, 23:09  [ТС] 7
Спасибо, но все равно такая же ситуация. В общем написал скрипт, который копирует этот файл во все подкаталоги, сейчас пытаюсь написать скрипт который вызовет все эти BAT файлы, но что-то не хочет работать
Windows Batch file
1
2
3
4
5
6
7
@echo off
 
set "dir=C:\Users\Ok\Desktop\Geolife Trajectories 1.3\Data"
 
for /r "%dir%" %%i in ("*.bat") do CALL (BAT4.bat)
 
exit/b
Добавлено через 2 часа 53 минуты
Спасибо большое. Задача решена. Проблема была в конкретном файле, при его удалении скрипты сработали.
0
30.11.2015, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2015, 23:09

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

Дописи строк в текстовых файлах
Можете отредактировать программу, чтоб она после запуска сразу закрывалась, и писала строки после...

Сложить значения определённой строки из всех файлов в папке
Всем привет! В папке лежат текстовые файлы. У каждого из этих файлов надо прочитать шестую строку и...


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

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

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