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

Лучшие Пользователи,

Я хочу сделать пакетный скрипт, который удаляет определенное слово в txt файле.
Я использовал следующее, Но это не сработало

(Скрипт, который я использовал) :

SET /p word=device
FOR /f "delims=" %%a IN ('dir /a-d /b "Input_%date%.txt"') DO (
SET "fname=%%~na"
SET "fname=!fname:%word%=!"'
IF NOT "!fname!"=="" REN "%%~a" "!fname!%%~xa"

(Input_%date%.формат txt):

1015faf2da091b02    device
1115fbd4e0dd3b03    device

Я хочу удалить слово «устройство» в каждой строке.

Кто-нибудь может мне помочь!

С уважением,

A. V. R

1 ответ

  1. Я думаю, вы хотите sth, как это:

    SETLOCAL EnableDelayedExpansion
    set x=device
    FOR /f "delims=" %%a IN (Input_%date%.txt) DO (
        set b=%%a
        echo !b:%x%=!
    )
    

    Но как только вы установите sed (от например unxutils ) вы можете сделать это с простым одним вкладышем

    type input_%date%.txt | sed "s/device//"
    

    Я предположил, что вы можете переслать вывод в другой файл после этого.