批处理文件:将文本行复制到多个文件

时间:2018-11-27 14:52:16

标签: batch-file io-redirection

我想将文本行复制到多个文件。

我尝试过:

echo .anyclass {color:red;} >> "\\servername\stylesheet1.css" >> "\\servername\stylesheet2.css" >> "\\servername\stylesheet3.css"

但似乎从一个对象开始多次不能使用操作符>>

1 个答案:

答案 0 :(得分:2)

您不能同时重定向到多个目的地。

for /l %%a in (1,1,3) do (
  echo .anyclass {color:red;} >> "\\servername\stylesheet%%a.css" 
)

for %%a in (stylesheet1 stylesheet2 stylesheet3) do (
  echo .anyclass {color:red;} >> "\\servername\%%a.css"
)

会将字符串回显到所有三个文件。第一个循环使用越来越多的代码(某些语言的语法更易于理解:for a=1 to 3 step 1),第二个循环遍历字符串。您使用哪个,由您决定。

编辑
在我撰写本文时,aschifpl提出了另一个版本,该版本可能更好(也可能不行):(写给所有现有的 stylesheet*.css)(出于完整性考虑,我会借用它):

for %%a in ("C:\stylesheet*.css") do 
  >> "%~a" echo .anyclass {color:red;}
)