grep определенную строку из файла и сохранить результат в другом файле с помощью bat или vbs

63
8

У меня есть содержимое ниже в файле1

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\vlc.exe\shell\Open\command]
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\" --started-from-file \"%1\""

Мне нужно C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe строка, которая будет скопирована из файла1 в файл2.

В качестве конечного результата содержимое файла2 должно иметь

C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe

Как мы можем добиться этого, используя файл bat или vbs? Пожалуйста, поделитесь своими мыслями. Благодарю!

спросил(а) 2021-01-19T16:07:40+03:00 5 месяцев назад
1
Решение
64

@echo off
for /f usebackq^ tokens^=^3^ delims^=^" %%a in ("file1") do >"file2" echo %%a

Используя цитату в качестве разделителя, прочитайте файл1, разделите строки, чтобы получить третий токен в строке и отправить в файл2

ответил(а) 2021-01-19T16:07:40+03:00 5 месяцев назад
45

@ECHO OFF
SETLOCAL
FOR /f "tokens=1*delims==" %%a IN (q21568377.txt) DO IF NOT "%%b"=="" FOR /f "tokens=1,2delims=:-" %%c IN (%%b) DO SET var1=%%c&SET var2=%%d
SET var=%var1:~-1%:%var2:~0,-3%
ECHO %var%

GOTO :EOF

Я использовал файл с именем q21568377.txt для моего тестирования.

Результат просто отображается на экране. Переадресация на файл, если это ваше желание.

ответил(а) 2021-01-19T16:07:40+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема