批处理代码不能在文件名空间中工作
问题描述:
尝试使用批处理文件进行自动化,其中它将在Output.txt文件中显示文件中的记录的文件名和数量。但如果我的文件名有空格,则它不会给出记录数量,反而显示文字后面的空格批处理代码不能在文件名空间中工作
@echo off
(
for %%n IN (*.*) do (
for /F "tokens=3" %%f in ('find /V /C "-------------" "%%n"') do (
echo %%n : %%f
)
)) >output.txt
答
只是使用tokens=2,*
,忽略token2。 *
意思是“把所有其余的东西不加标记化”
@echo off
(
for %%n IN (*.*) do (
for /F "tokens=2 delims=:" %%f in ('find /V /C "-------------" "%%n"') do (
echo %%n :%%f
)
)
) >output.txt
谢谢。这是现在给计数 – Jay
谢谢你。这现在正在计数。 但是对于带空格的文件,它会给出输出文件名:测试文件名后的空格:count。我如何获得文件名? RTMCDS29_CLARUS_9_REEXTRACTION 2016.txt:2016.TXT:12678 – Jay
只是'echo %% g'(如果您可以使用所有大写的文件名)或使用编辑后的解决方案。 – Stephan