cmd for语句 在线等
cmd吧
全部回复
仅看楼主
level 1
无事来玩 楼主
我想取出文件名,以下是代码
@echo off
set work_path=C:\My folder\LTJD4264_POST
C:
cd %work_path%
for /R "%work_path%" %i in (*.trp) do(
set f="%~ni"
echo %f%
)
直接echo %~ni 可以看到每个文件名
但是为什么set f="%~ni" 后echo %f%
出来的只是一堆的%f%,求大神教我,在线等,谢谢
2015年04月30日 02点04分 1
level 8
用延迟变量
2015年04月30日 06点04分 2
@echo off setlocal EnableDelayedExpansion set work_path=C:\My folder\LTJD4264_POST C: cd %work_path% set f=abc for /r "%work_path%" %i in (*.trp) do ( set f=%~ni echo %f% echo !f! ) 这样输出的是一堆abc和一堆!f!,我不知道是哪里错了,set f=%~ni这句命令好像不起作用
2015年04月30日 07点04分
我就是在上面的基础上加了一个setlocal EnableDelayedExpansion ,set f=%~ni这句命令好像不起作用
2015年04月30日 07点04分
我弄错了cmd和批处理了,不好意思
2015年04月30日 07点04分
1