有以下内容现在是正确的..您不能使用FOR / f构造.. FOR %% 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 . . .
希望这有助于理解问题所在。
答案 0 :(得分:0)
查看下面的代码是否适合您,如果可能的话,使用我的代码发布您在那里发生的事情的输出。
<强>代码:强>
@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