我对cmd
命令有一个很好的命令,但这可能需要一个变量或一个循环,这是我在批处理命令中失败的地方。如果可以,请帮忙!
- 大约有100个子目录,每个子目录中包含1-20个HTML文件。根目录中也有大约100个HTML文件。 - 需要使用相同的HTML源替换上述目录中的所有HTML文件(复制现有文件并保持名称相同)。基本上尝试使用重定向脚本将所有现有文件替换为新服务器,以便直接添加书签的人员。我们正在运行一个普通的网络服务器而无法访问服务器端重定向,因此只需重命名文件(锁定公司环境)就可以做到这一点。
看起来很简单。通过将相同的文件复制到替换,我无法使用通配符。我只更换了第一个文件,但其余文件将失败。任何有任何建议的人?
答案 0 :(得分:1)
这应该从命令提示符处执行。将%
替换为%%
,以便在批处理文件中使用。
for /r "c:\base\folder" %a in (*.html) do copy /y "d:\redirect.html" "%a"
答案 1 :(得分:0)
如果不知道如何更新文件内容,我建议采用以下粗略方法。
要重新创建示例,我必须创建一些文件夹。运行此命令执行此操作:
for /l %i in (1,1,20) do mkdir fold%i
然后我使用此脚本创建了一些示例文件:
@echo off
set number=0
for /d %%i in (c:\Logs\htmltest\*) do call :makefiles %%i
goto :EOF
:makefiles
set /a number+=1
touch %1\file%number%.txt
echo %number% >%1\file%number%.txt
然后我使用此脚本将更改的文本追加到文件中。不确定这是否是你想要的 - 可能你需要更复杂的东西。
@echo off
set number=0
for /d %%i in (c:\Logs\htmltest\*) do @for %%f in ("%%i\*.txt") do call :changetext %%f
goto :EOF
:changetext
echo changing file contents to ^"changed^" for file: %1
echo changed>>%1