首页 > 解决方案 > 如何使用 bat 在命令提示符下执行 2 个命令目录行。文件

问题描述

命令提示符中的这两个命令行运行良好:

dir /b /o:- > listname.csv

(for /f "tokens=1,2" %a in ('dir /a-d /o-d') do @echo %a %b|find ":") >listdate.csv

但是当我尝试制作它的.bat文件时,它不会创建那些文件(listname.csvlistdate.csv)。

.bat文件内容应该与我在命令提示符下编写的脚本相同,对吧?还是我犯了一个错误?

标签: batch-filefor-loopcmd

解决方案


在批处理文件中,metavariables(由for命令建立的,在本例中为%a%b)需要将其%符号加倍。

(for /f "tokens=1,2" %%a in ('dir /a-d /o-d') do echo %%a %%b|find ":") >listdate.csv

似乎没有理由listname.csv不生成该文件。


推荐阅读