2013-07-18 34 views
1

我已经从测试目录到目前为止测试过这个,没有错误,但我需要脚本来调用其他服务器上的目录。只要我尝试为批处理文件所在的目录添加UNC,脚本就无法创建%SITE%.txt。如何使用UNC运行for语句?

这是问题的行:

for /f "delims=" %%a in ('dir /b /a-d *.DONE ^| find "%SITE%" /c') do <nul 

全部文件:

@ECHO OFF 
SET LIMIT=7 
SET SITE=04338 
SET SITEFOLDER=D:\Test\Veracity 
SET SITEFILE="%SITE%.txt" 
SET SAVEFILE="count%SITE%.txt" 
SETLOCAL ENABLEDELAYEDEXPANSION 

REM Get the current count or start a new file if it does not exist. 
IF EXIST %SAVEFILE% GOTO READFILE 
ECHO 0 >%SAVEFILE% 
:READFILE 
SET /P COUNT= <%SAVEFILE% 

REM Increment the save file value by one. 
FOR %%B IN ("%SAVEFILE%") DO (
    CALL :ADD_ONE 
) 
ECHO %COUNT% >%SAVEFILE% 

for /f "delims=" %%a in ('dir /b /a-d *.DONE ^| find "%SITE%" /c') do <nul 

set/p "=%%a,">>%SITE%.txt 

GOTO CHECK_VALUE 
:ADD_ONE 
SET /A COUNT+=1 
GOTO :EOF 

REM Conditionally reset the counter and do something. 
:CHECK_VALUE 
IF %COUNT% LSS %LIMIT% EXIT /B 
DEL %SAVEFILE% 2>NUL 
IF EXIST %SITEFILE% DEL %SITEFILE% 

ECHO 

回答

0
for /f "delims=" %%a in (' dir "[UNC PATH]\*.DONE" /b /a-d ^| find "%SITE%" /c') do (set /p "=%%a,">>%SITE%.txt <nul) 
+0

')之后找出来。 – user2596457

1

它必须在同一行或使用括号。

for /f "delims=" %%a in ('dir /b /a-d *.DONE ^| find "%SITE%" /c') do set/p "=%%a,">>%SITE%.txt <nul 
+0

谢谢你的答复。不幸的是它仍然不起作用。对于/ f“delims =”%% a in('“D:\ Test \ Veracity”/ b/ad * .DONE^| find“%SITE%”/ c')set set/p“= %% a, “>>%SITE%.txt user2596457

+0

您在命令中缺少DIR。 – foxidrive

+0

它仍然失败。 for/f“delims =”%% a in('“D:\ Test \ Veracity”dir/b/ad * .DONE^| find“%SITE%”/ c')do set/p“= %% a ,“>>%SITE%.txt user2596457