Cmd和bat环境下有哪些不同

简单的说就是一条命令如果可以直接在cmd里运行,那么将它写到bat批处理里需要做哪些修改?

我知道的一点是cmd里的%在bat里要写成%%,还有其他的吗?

一是转义字符,比如%、管道重定向符号都要转移处理;
二是要注意是否有延迟扩展变量的需求,(想想你的%var%是需要从头到尾不变还是跟随每个for循环变化一次)
三就是bat可以加参数,%0(bat本身)、%1之类的

特殊字符(如 & , | , < , > , ^ )在 BAT 文件中需要转义,需要在它们前面添加 ^ 来避免被解释为命令符

bat里写多行命令需要确定上一行的命令确实的执行结束了