[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理for命令怎样用tokens取最后一列?

testfor.bat的内容:
@echo off
for /f "tokens=1-2 delims=\" %%i in (filelist.txt) do (
echo 第一列=%%i ,第2列=%%j
)
但我的fileilist.txt中每一行的列数不一样:
\js\aj.txt
\js\eg\date.html
\js\abc\we\name\img
我想取最后一列的内容,如aj.txt和date.html以及img.

另外,如果取到了最后一列的内容,还可以在for里面,取到每一行完整的内容吗?
如:echo 最后一列是...
    echo 每一行是...

谢谢

(本来是想直接用批处理判断每一行是文件,还是文件夹,但似乎查不到相关资料,只有用这种笨方法,先拿到最后一行,再判断里面是否还有字符"."了)

[ 本帖最后由 west 于 2010-10-25 16:19 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

说清楚目的就好办了!~
你是想判断硬盘中存在的文件是文件夹还是文件?
还是想判断TXT文件列表中的文件是文件夹还是文件?
前者用
  1. if exist "\js\abc\we\name\img\." (echo 文件夹) else (echo 是文件)
复制代码
后者没想好,或许可以用
if "!var:~-4,1!"=="." 判断

[ 本帖最后由 cjiabing 于 2010-10-25 17:41 编辑 ]
1

评分人数

寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

判断是文件或文件夹可以这样吧

  1. @echo off
  2. for /f "delims=" %%i in (2.txt) do (
  3.     echo %%i | findstr \.>nul && echo %%i是文件 || echo %%i是文件夹
  4. )   
  5. pause
复制代码

TOP

返回列表