Batch file 循环批处理未显示所需的组件
具备以下条件,现在是正确的。。不能使用FOR/f构造。。因为%%G工作正常 编辑-不在我的工作计算机上,但是我看到了相同的结果。。那么,就拿D3F4ULT的代码来说: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
@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结构,现在显示正确。显示问题所在。更新了帖子,现在清楚地显示了错误出现的位置/方式。