【问题标题】:FINDSTR cannot open path with spacesFINDSTR 无法打开带空格的路径
【发布时间】:2011-12-29 01:01:48
【问题描述】:

拖放.bat,它会获取文件,
将其放入 2 个列表并同时处理这两个列表。

我通过了一条路径: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:\folder\folder number\begin.txt”
有没有办法解决这个 findstr 问题?
谢谢

【问题讨论】:

  • 您确定错误消息不是“FINDSTR: 无法打开 X:\folder\folder”吗?这将明确意味着您错过了 @jeb 提到的将文件名传递给引号
  • mybatch 需要拖放文件,如果文件夹名称中没有空格,它可以正常工作。
  • 错误信息是什么?

标签: path batch-file space findstr


【解决方案1】:

让我们看看您的文件删除是否正常:

你能用这些内容创建一个批处理文件吗

echo %*
set /p dummy=press return

将名称中带有空格的文件拖放到该文件上并发布结果?

【讨论】:

  • "X:\文件夹\文件夹编号\begin.txt"
  • 你去...如果文件路径中包含空格,则 cmd 提示符需要引号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-01
  • 2012-04-03
相关资源
最近更新 更多