我想计算网络位置中文本文件的行数

时间:2014-01-03 05:53:46

标签: batch-file

我有以下脚本。但它什么都没给我。请帮忙:

@echo off
cls
setlocal EnableDelayedExpansion
set "cmd=findstr /R /N "^^" "\\dao10\RAC\RACDFR\BACKUP\out\20131203 \DEMANDCOMM_20131202_PS.txt" | find /C ":""

for /f %%a in ('!cmd!') do set number=%%a
echo the row count of coutD.txt is %number%
pause

输出未到来。请帮忙。

2 个答案:

答案 0 :(得分:0)

尝试^^^|代替|

|需要在for /f内转义,^需要在set转义。

(未测试的)


@echo off
cls
setlocal EnableDelayedExpansion
set "cmd=findstr /R /N "^^" "\\dao10\RAC\RACDFR\BACKUP\out\20131203 \DEMANDCOMM_20131202_PS.txt" ^^^| find /C ":""

for /f %%a in ('!cmd!') do set number=%%a
echo the row count of coutD.txt is %number%
pause

(未测试的)


@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set "cmd=findstr /R /N "^^" "\\dao10\RAC\RACDFR\BACKUP\out\20131203\DEMANDCOMM_20131202_PS.txt" ^| find /C ":""
set "cmd=findstr /R /N "^^" "\\m405\M405c\DEMANDCOMM_20131202_PS.txt" ^| find /C ":""

for /f %%a in ('%cmd%') do set number=%%a
echo the row count of coutD.txt is %number%
GOTO :EOF

这给了我一个目标文件中的行数。显然,我无法对你的文件进行测试,而且我已经保留了我的路径参考。

注意:只需要一个^%cmd%代替!cmd!,并且文件路径中省略了虚假空间。

答案 1 :(得分:0)

试试这个。请注意,您显示的路径在具有日期

的文件夹后面有一个空格
@echo off
set file="\\dao10\RAC\RACDFR\BACKUP\out\20131203\DEMANDCOMM_20131202_PS.txt"
type %file%
pause
for /f %%a in ('find /c /v "" ^< %file% ') do echo %%a lines
pause