2011-11-14 107 views
1

拖放.bat文件,
將其放入2個列表並同時處理兩個列表。FINDSTR無法打開帶空格的路徑

我所經過的路徑:X:\folder\folder number\begin.txt%1
它的正常工作,如果我有foldernumber

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 

我得到這個錯誤信息「FINDSTR:無法打開X:\文件夾\文件夾號\ begin.txt 「
有沒有辦法解決這findstr問題?
感謝

+1

你確定錯誤信息不是「FINDSTR:無法打開X:\文件夾\文件夾」嗎?這將inequivocaly意味着你錯過了通過引號的文件名作爲@jeb被提及 –

+0

mybatch需要拖放文件,它工作正常,如果在文件夾名稱中有_no空格._ – Spaceballs

+0

和什麼是錯誤信息? –

回答

2

讓我們看到,如果你的文件拖放就OK:

,您可以創建這些內容

echo %* 
set /p dummy=press return 

一個批處理文件中的名稱刪除一個文件,用空格,在其上併發布結果?

+0

「X:\ folder \文件夾號\ begin.txt」 – Spaceballs

+1

你去了哪裏......如果文件路徑中包含空格,則引號是cmd提示所必需的。 – iesou

相關問題