Windows 在ms dos中编辑文件

Windows 在ms dos中编辑文件,windows,apache,cmd,xampp,Windows,Apache,Cmd,Xampp,这能做到吗 基本上,我使用xampp处理多个项目,我喜欢http://localhost作为项目根目录(而不是http://localhost/project_name/) 问题是,我必须打开apache文件夹中的httpd.conf文件,更改文档根,然后重新启动apache 我想知道这是否可以在ms dos中完成 假设我编写了一个批处理文件: opens the file, finds the document root, changes it, stop apache, start apac

这能做到吗

基本上,我使用xampp处理多个项目,我喜欢
http://localhost
作为项目根目录(而不是
http://localhost/project_name/

问题是,我必须打开apache文件夹中的httpd.conf文件,更改文档根,然后重新启动apache

我想知道这是否可以在ms dos中完成

假设我编写了一个批处理文件:

opens the file,
finds the document root,
changes it,
stop apache,
start apache
然后我需要做的就是打开cmd提示符,然后写:

http\u change.bat new\u project\u name

问题是,我只知道基本的ms dos,网络上的示例和教程令人惊讶地难以理解

编辑

我真的很挣扎,所以我要悬赏

到目前为止,我已经尝试:

for /f "eol=# tokens=* delims=*" %%a in (httpd.conf) do echo %%a
这成功地读取了文件,但是我尝试了

for /f "eol=# tokens=* delims=*" %%a in (httpd.conf) do (
    echo %%a
)
这起作用了。然后

for /f "eol=# tokens=* delims=*" %%a in (httpd.conf) do (
    set line=%%a
    echo %line%
)
但那失败了。。。它只是回显“ECHO已关闭”。这使我假设它没有设置行变量


我的计划是检查每一行,看看前12个字符是否==“DocumentRoot”,如果是,我不会将该行保存到一个新文件中,而是使用sting操作修改该行并将其保存…

您试图编辑配置文件会给自己带来不必要的痛苦。这里有一个更好的主意:

  • httpd.conf
    文件中删除
    DocumentRoot
    设置。将其替换为
    Include
    指令,类似于:

    Include \path\to\documentroot.conf
    
  • 现在,您不需要编辑文件,只需替换
    documentroot.conf
    文件,该文件包含以下格式的一行:

    DocumentRoot \path\to\my\documentroot
    
还有一个想法:

您可以在命令行上使用
-C
指令传递Apache配置选项(或
-C
,具体取决于您希望在(
-C
)Apache读取其配置文件之前还是之后应用指令)。与前面的想法一样,从
httpd.conf
中删除DocumentRoot指令,然后在重新启动
httpd
时,按如下方式启动它:

httpd -C 'DocumentRoot \path\to\my\documentroot'

我不能告诉你如何:
1。查找带有批处理的目录,
或者,2。启动/停止apache

但我可以告诉您如何编辑它。
如果您使用XP或之前的版本,请使用
编辑

如果您使用64位或Vista或更高版本,请使用
复制con


因为16位
编辑
应用程序已从64位版本的Windows中删除。

vbscript解决方案可以接受吗?我不知道,我可以在ms dos命令行上使用vb吗?我有Windows7,我认为id相当纯ms dosvbscript是一种脚本语言(不要与vb6/vb.net混淆);它的解释器与windows捆绑在一起,您不必安装任何东西来运行该脚本。很抱歉,MS-DOS不作为windows 2000中的windows的一部分存在。请改称它为windows命令行。很抱歉。但我不知道,因为我从未被告知,但现在我知道了。谢谢,我很高兴这有帮助!如果您对这个解决方案感到满意,那么如果您可以将其标记为已接受,那将是非常棒的。