0
파일 이름 (각 행의 첫 번째 열)에 첫 번째 값을 읽을 스크립트를 작성하려고합니다. 파일 이름이 들어 있습니다. 그런 다음 일부 위치에서이 파일을 검색하고 발견 된 모든 경로를 새로운 마지막 열로 csv에 추가하십시오. 파일을 검색하려고하는 다음 스크립트가 있습니다. 하지만 제대로 작동하지 않습니다.일괄 처리 : 파일에서 파일 이름 읽기, 파일 검색, 파일에 찾은 경로 추가
FOR /F "tokens=*" %%N IN ('dir /b /A:-D /s %reportname%')
전체 스크립트 :
setlocal enabledelayedexpansion
set currentdir=%CD%
set grspath=\Sources\ROL\Kesko\grs13\
set filename=sqrscripts.csv
set tmpfilename=scripts.new
SET reppath=""
SET reportname=""
IF NOT "%1"=="" grspath=%1
FOR /F "tokens=1,2,3,4,5,6,7,8* delims=;" %%a in (%filename%) do (
SET tempstr=%%a;%%b;%%c;%%d;%%e;%%f;%%g;
SET reportname=%%a
echo Serching !reportname! in %grspath% ...
cd %grspath%
FOR /F "tokens=*" %%N IN ('dir /b /A:-D /s %reportname%') DO (
IF NOT "%reppath%"=="" (SET reppath=%reppath%,%%N) ELSE (SET reppath=%%N)
)
cd %currentdir%
echo Found: %reppath%
)
는이 조사 시겠어요 어쩌면 당신이 뭔가 잘못을 찾을 수 있습니다, 내가이 행에 빈 %의 REPORTNAME의 %를 가지고있는 것처럼 보인다?
내 입력 :
E:\tmp>(
SET tempstr=art.rep;1;2;3;4;5;6;7
SET reportname=art.rep
echo Serching !reportname! in e:\Sources\ ...
cd e:\Sources\
FOR /F "tokens=*" %N IN ('dir /b /A:-D /s ""') DO (IF NOT """" == "" (SET reppa
th="",%N) ELSE (SET reppath=%N))
cd E:\tmp
echo Found: ""
)
다음이 같은 행 수
E:\Sources\>(IF NOT """" == "" (SET reppath="",E:\Sources\somefolders\somefile.someext) ELSE (SET reppath=E:\Sources\somefolders\somefile.someext))
Found: ""