2011-11-14 5 views
1

끌어서 놓기 .bat 파일은
두 개의 목록에 넣고 두 목록을 동시에 처리합니다. 열 수 없습니다 X : \ 폴더 \ 폴더 번호 \ begin.txt은 내가 FINDSTR은 공백이있는 경로를 열 수 없습니다.

PUSHD %~dp0 
:loop 
    IF ["%~f1"] EQU [""] goto :out 

    echo %~f1>>list 
    set /a count+=1 
    SHIFT 
goto :loop 

POPD 
:out 

if %count% LEQ 1 (copy list list1 && goto :START) 
set /a count2=%count%/2 
more /e +%count2% list > list2 

set count=0 
setlocal enabledelayedexpansion 
for /F "eol=; tokens=* delims=," %%i in (list) do (
    set /a count+=1 
    if !count! leq !count2! echo %%i >>list1  
) 
endlocal 

:: Create the 2nd .bat for multiprocessing and start multiprocessing 
more /e +88 mybat.bat > temp.bat 
START "2nd Process mybat2" temp.bat 

:start 
    for /f "eol=; tokens=* delims==," %%i in (list1) do call :SEARCH %%i 
    goto :END 
:: 88th line here 
    for /f "eol=; tokens=* delims==," %%k in (list2) do call :SEARCH %%k 
    goto :END 

:search 
    setlocal enabledelayedexpansion 
    for %%A in (jan feb mar apr mai etc...) DO (
     findstr /m "%%A" "%~f1" > NUL 
     if !ERRORLEVEL! == 0 (
      call :theend %~1 %%A 
      goto :EOF 
     ) 
    ) 
    endlocal 

foldernumber

내가이 오류 메시지가 "FINDSTR를 얻을 수있는 경우에 잘 작동하고 X:\folder\folder number\begin.txt%1
로 :

나는 경로를 통과 "

이 findstr 문제를 해결할 방법이 있습니까?

당신이 그것을에, 이름에 공백이, 파일을 드롭이 내용

echo %* 
set /p dummy=press return 

배치 파일을 만들 수 있습니다 파일 낙하가 OK 인 경우
감사

+1

오류 메시지가 "FINDSTR : X : \ folder \ folder를 열 수 없습니다"라는 것이 확실합니까? 이것은 명확하게 당신이 인용문 주위에 파일 이름을 건네주지 않았다는 것을 의미합니다. –

+0

mybatch는 드래그 앤 드롭 파일을 취합니다. 폴더 이름에 _no 공백이 있으면 제대로 작동합니다. – Spaceballs

+0

이고 오류 메시지는 무엇입니까? –

답변

2

은 우리가 볼 수 있도록 결과를 게시 하시겠습니까?

+0

"X : \ folder \ folder number \ begin.txt" – Spaceballs

+1

파일 경로에 공백이 있으면 cmd 프롬프트에 따옴표가 필요합니다. – iesou