如何从.txt文件中包含的文件名列表生成文件?

时间:2011-09-16 13:44:22

标签: php batch-file code-generation cmd text-files

我有一个.txt文件,其中包含大约500个文件名的列表。我需要根据列表生成实际文件。我可以在本地使用CMD,也可以使用PHP。哪个是最好的。每个文件名都在.txt中的单独一行上,没有其他标点符号或语法。比方说,例如,.txt文件名为colors.txt:文本文件中的EACH LINE包含一个唯一的文件名,如下所示:

red.php
blue.php
green.php
orange.php
yellow.php
magenta.php
light-yellow.php
purple.php

我如何将列表中的这些名称转换为文件?而且,更好的是,是否有一种方法可以在生成文件时将内容包含在文件中?例如,如果我想在创建的每个新的.php文件中自动插入<?echo "hello world";?>,我该怎么办?感谢

2 个答案:

答案 0 :(得分:2)

注意:这是Windows的批处理脚本。

要从colors.txt列表创建这些文件并将echo行添加到每个文件,请使用以下FOR /F循环:

FOR /F "tokens=*" %%A IN (colors.txt) DO (
  (ECHO ^<?echo "hello world";?^>)>"%%A"
)

请注意,在ECHO命令中,您必须使用<转义>^个字符,以使它们成为文字字符串,否则批处理脚本会认为它们是重定向命令。

答案 1 :(得分:0)

我不确定你在这里要做什么。我的直觉告诉我,可能有更好的方法来解决你正在处理的大局问题。尽管如此,您可以尝试以下内容:

foreach (file('colors.txt') as $filename) {
    file_put_contents($filename, '<?php echo "hello world";');
}

您可能还想对文件名进行一些健全性检查,以确保它们可以安全使用。