Batch file 循环批处理未显示所需的组件

Batch file 循环批处理未显示所需的组件,batch-file,for-loop,Batch File,For Loop,具备以下条件,现在是正确的。。不能使用FOR/f构造。。因为%%G工作正常 编辑-不在我的工作计算机上,但是我看到了相同的结果。。那么,就拿D3F4ULT的代码来说: @echo off echo Current Directory: %CD% REM 22310611 for /f %%G in ( 'dir /b /a-d "C:\11\*"' ) do ( echo f = %%~fG echo d = %%~dG echo p = %%~pG echo n = %%~n

具备以下条件,现在是正确的。。不能使用FOR/f构造。。因为%%G工作正常

编辑-不在我的工作计算机上,但是我看到了相同的结果。。那么,就拿D3F4ULT的代码来说:

@echo off
echo Current Directory: %CD%
REM 22310611

for /f %%G in ( 'dir /b /a-d "C:\11\*"' ) do (
  echo f = %%~fG
  echo d = %%~dG
  echo p = %%~pG
  echo n = %%~nG
  echo x = %%~xG
  echo s = %%~sG
  echo a = %%~aG
  echo t = %%~tG
  echo z = %%~zG
  pause
)
结果是:

Current Directory: C:\batch
f = C:\batch\!kix.zip
d = C:
p = \batch\
n = !kix
x = .zip
s = C:\batch\!kix.zip
a =
t =
z =
Press any key to continue . . .
出现的问题有: C:\batch是我从中执行脚本的文件夹 C:\11是我试图从中获取信息的目标文件夹

可变问题: p是不正确的 a、 t,z不填充

让我们按照我建议的改变做吧

@echo off
echo Current Directory: %CD%
REM 22310611

REM - ORIGINAL: for /f %%G in ( 'dir /b /a-d "C:\11\*"' ) do (
for %%G in ( C:\11\* ) do (
  echo f = %%~fG
  echo d = %%~dG
  echo p = %%~pG
  echo n = %%~nG
  echo x = %%~xG
  echo s = %%~sG
  echo a = %%~aG
  echo t = %%~tG
  echo z = %%~zG
  pause
)
结果是:

Current Directory: C:\batch

C:\batch>fllist.bat
Current Directory: C:\batch
f = C:\11\!kix.zip
d = C:
p = \11\
n = !kix
x = .zip
s = C:\11\!kix.zip
a = --a------
t = 07/31/2011 08:29 AM
z = 25732801
Press any key to continue . . .

希望这有助于理解问题所在。

查看下面的代码是否适用于您,如果可能,使用我的代码发布您在那里发生的事情的输出

代码:

@echo off

REM 22310611

for /f %%G in ( 'dir /b /a-d "D:\logs\*"' ) do (
  echo f = %%~fG
  echo d = %%~dG
  echo p = %%~pG
  echo n = %%~nG
  echo x = %%~xG
  echo s = %%~sG
  echo a = %%~aG
  echo t = %%~tG
  echo z = %%~zG
  pause
)

pause
输出

f = D:\logs\1.jpg
d = D:
p = \logs\
n = 1
x = .jpg
s = D:\logs\1.jpg
a = ---------
t = 10/03/2014 16:55
z = 128928

在上面的代码中,
echo%%~tG
以什么方式“工作正常”,而在下面的代码中却不工作?显示不起作用的确切代码(在上下文中),描述您期望的内容以及实际得到的内容。我已经更正了FOR结构,现在显示正确。显示问题所在。更新了帖子,现在清楚地显示了错误出现的位置/方式。