(.bat) Как массово изменить файл с определенным именем - PullRequest
0 голосов
/ 14 октября 2018

Я новичок здесь и новичок в пакете, я хочу изменить все файлы с именем squelette - *. Html (удалить все "внутри них)

Мой код выглядит следующим образом:

    @echo off

    if not exist squelette-0.html ( type nul > squelette-0.html )

    set ligne1="<!DOCTYPE html>"
    set ligne2="<html lang="fr">"
    set ligne3="<head>"
    set ligne4="<title> </title>"
    set ligne5="<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">"
    set ligne6="<style type="text/css">"
    set ligne7="body {"
    set ligne8="}"
    set ligne9="</style>"
    set ligne10="</head>"
    set ligne11="<body>"
    set ligne12="<p>"
    set ligne13="</p>"

    @echo %ligne1% > squelette-0.html
    @echo %ligne2% >> squelette-0.html
    @echo %ligne3% >> squelette-0.html
    @echo %ligne4% >> squelette-0.html
    @echo %ligne5% >> squelette-0.html
    @echo %ligne6% >> squelette-0.html
    @echo %ligne7% >> squelette-0.html
    @echo %ligne8% >> squelette-0.html
    @echo %ligne9% >> squelette-0.html
    @echo %ligne10% >> squelette-0.html
    @echo %ligne11% >> squelette-0.html
    @echo %ligne12% >> squelette-0.html
    @echo %ligne13% >> squelette-0.html

и я хочу, чтобы squelette-0.html выглядел так:

    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <title> </title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <styletype="text/css">
    body {
    }
    </style>
    </head>
    <body>
    <p>
    </p>

Когда я пытаюсь удалить их из переменных, я получаю странную ошибку:

    File not found
    File name not valid

(перевод сам с французского)

Или, если мой путь плохой, кто-то может мне помочь и создать лучший? (Моя последняя идея - воспроизвести этот сценарий в пакете)

1 Ответ

0 голосов
/ 14 октября 2018

Вот как я бы это сделал:

@echo off

< NUL (
    set /P "=<!DOCTYPE html>"   & echo/
    set /P "=<html lang="fr">"  & echo/
    set /P "=<head>"            & echo/
    set /P "=<title> </title>"  & echo/
    set /P "=<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">" & echo/
    set /P "=<style type="text/css">" & echo/
    set /P "=body {"            & echo/
    set /P "=}"                 & echo/
    set /P "=</style>"          & echo/
    set /P "=</head>"           & echo/
    set /P "=<body>"            & echo/
    set /P "=<p>"               & echo/
    set /P "=</p>"              & echo/
) > squelette-0.html

Команда set /P позволяет заключить в скобки свою «подсказку», поэтому нет необходимости экранировать специальные символы.Однако он не показывает LF в конце строки, поэтому необходимо добавить команду echo/ после каждой строки.Кроме того, set /P читает строку, поэтому необходимо перенаправить ее ввод на < NUL.

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