我有以下脚本。但它什么都没给我。请帮忙:
@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
输出未到来。请帮忙。
答案 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