小编Hit*_*kun的帖子

因为批量读取文件夹时有奇怪的行为

我正在尝试做一个简单的批处理(这不是全部,但这是使一切都失败的部分)

@echo off
for /f "tokens=*" %%G in ('dir /s /b /a:d "e:\tmp\*"') do (
    echo %%G
    set fullpath=%%G
    set basename=%fullpath:~7%
    echo %fullpath%
    echo %basename%
)
Run Code Online (Sandbox Code Playgroud)

这个脚本应该从任何地方运行,因此有趣的 for 循环。它应该查看目录,然后做一些事情。

在这个特定的目录中,还有另外 3 个目录:bomslenovodb,cpatfinance

预期输出

e:\tmp\bomslenovodb
e:\tmp\bomslenovodb
bomslenovodb
e:\tmp\cpat
e:\tmp\cpat
cpat
e:\tmp\finance
e:\tmp\finance
finance
Run Code Online (Sandbox Code Playgroud)

实际输出

First run
e:\tmp\bomslenovodb
ECHO is off.
ECHO is off.
e:\tmp\bomslenovodb
e:\tmp\cpat
ECHO is off.
ECHO is off.
e:\tmp\cpat
e:\tmp\finance
Second run
ECHO is off.
ECHO is off.
e:\tmp\finance
e:\tmp\bomslenovodb
e:\tmp\finance
ECHO is …
Run Code Online (Sandbox Code Playgroud)

windows-server-2008 batch-file windows-command-prompt

1
推荐指数
1
解决办法
150
查看次数