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

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

Ответить
Настройки темы
CMD/BAT - [решено] Удаление строк в файле, начинающихся с переменной

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


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

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


Такая вот проблема..

Код: Выделить весь код
For /F "eol=%n%" %%I In (E:\1.txt) Do Echo %%I>E:\2.txt
В принципе, всё нормально, только в переменной %n% не один символ, а несколько.. Как реализовать что то подобное?

Отправлено: 00:49, 31-08-2011

 

Ветеран


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

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


Например, использовать для решения данной задачи WSH или PoSH.

Если дадите конкретный пример, возможно, Вам подскажут, как его можно попробовать решить в рамках заявленной категории.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:33, 31-08-2011 | #2



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

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


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


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

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


cодержание файла E:\1.txt
Код: Выделить весь код
User1_blah1.2th
User1_blah2.2th
User2_blah4.2th
User2_blah2.2th
User2_blah4.2th
User3_blah7.2th
содержание папки C:\Profiles\
Код: Выделить весь код
С:\Profiles\User1.profile.2th
С:\Profiles\User3.profile.2th
сам bat
Код: Выделить весь код
:CP
rem записываем имя профиля в переменную "n"
dir "C:\Profiles\" /b>%temp%\profilename.txt
for /F "Delims=." %%I in (%temp%\profilename.txt) do set n=%%I
rem переносим последний профиль переменной "n" во временную папку
copy "C:\Profiles\%n%.profile.2th" "%temp%\Prof\*"
del /F /Q "C:\Profiles\%n%.profile.2th" 2>nul
rem очищаем файл profilename.txt, для последующего повторного использования, с другим профилем
del /F /Q %temp%\profilename.txt 2>nul
rem выборка строк только со профилем "n"
For /F "eol=%n%" %%I In (E:\1.txt) Do Echo %%I>>E:\2.txt
rem проверяем, остались ли ещё не скопированные профили..
if exist "C:\Profiles\*.profile.2th" goto CP
rem если все профили были скопированы, возвращаем их на место
copy "%temp%\Prof\*.profile.2th" "C:\Profiles\*"
Нужен результат в E:\2.txt, но без строк начинающихся с "User2"

Отправлено: 02:20, 31-08-2011 | #3


Старожил


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

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


Если я правильно понял потребность, то все богатство приведенного батника решается этой строкой:
Код: Выделить весь код
for /f "tokens=1 delims=." %%I in ('dir "C:\Profiles\" /b/a-d') do findstr /b "%%I" E:\1.txt >> E:\2.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:44, 31-08-2011 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? VladZombie Скриптовые языки администрирования Windows 70 08-09-2020 13:28
CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно? akrav Скриптовые языки администрирования Windows 8 06-12-2015 13:22
[решено] Количество строк в файле 0xDEADBEEF AutoIt 3 25-01-2010 21:47
VBS/WSH/JS - Обработка строк в файле с помошью VBS rfcr Программирование и базы данных 3 07-03-2006 22:40
Как оставить в файле Х первых строк? Dan Вебмастеру 10 19-10-2002 00:41




 
Переход