首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批处理脚本以生成批处理脚本

批处理脚本以生成批处理脚本
EN

Stack Overflow用户
提问于 2017-01-27 20:02:48
回答 1查看 42关注 0票数 1

好,简单,我想做一个批处理脚本,它:

  1. 使导出文件夹在用户桌面上
  2. 从new (如不从某处复制),在该文件夹中创建一个批处理脚本,在用户填充该文件夹并将其保存到桌面后列出该文件夹的内容。

我遇到的问题是,我试图使用echo将预期的新脚本文本从原始批处理文件复制到新的脚本文本中,如下所示:

代码语言:javascript
运行
复制
@echo off 
mkdir "C:\Users\%username%\Desktop\Export"
echo dir "C:\Users\%username%\Desktop\Export" /W /A:-H /B > "C:\Users\%username%\Desktop\Readout.txt" > "C:\Users\%username%\Desktop\Export\Directoty_List.bat"

问题是,echo命令将">“视为语句的结尾,并将第一部分写入桌面文本文件,但我希望它能看到第二个">”。我怎么处理这件事?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-01-29 08:55:30

正如理查德在评论中所说的那样,你可以用一个卡雷特符号^>来逃避这个^>。在cmd中具有特殊意义的大多数字符,如果您不想使用这个特殊的含义,可以用carret来转义。

通常的金科玉律是:把所有东西放在双引号之间。在双引号中,具有特殊含义的字符也被转义。不幸的是,echo也会打印引号,所以这在您的情况下不会有任何帮助。值得注意的是,引号有助于设置具有特殊字符的变量的值,传递带有特殊字符的参数,用特殊字符定义路径(例如,空格或括号),.但与echo不同。

还有一个我想给出的建议:您可以使用%userprofile%而不是指定整个路径C:\Users\%username%

代码语言:javascript
运行
复制
@echo off
mkdir "%userprofile%\Desktop\Export"
echo dir "%userprofile%\Desktop\Export" /W /A:-H /B ^> "%userprofile%\Desktop\Readout.txt" > "%userprofile%\Desktop\Export\Directoty_List.bat"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41902123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档