0
ファイル名(1行目から1行目)を読み込み、ファイル名を含むスクリプトを作成しようとしています。 次に、このファイルをある場所で検索し、見つかったすべてのパスを新しい最後の列としてcsvに追加します。 次のスクリプトは、ファイルを検索しようとしています。 しかし、正しく動作しません。私は、この行の空%のREPORTNAMEの%を持っているように思える:バッチ:ファイルからファイル名を読み取って検索し、ファイルに見つかったパスを追加します。
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%
)
あなたは多分あなたは間違って何かを見つけることができ、これに見ていただけますか?
マイ入力:
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: ""