Board logo

标题: [文件操作] 求助批处理dir或者for如何只取前10行结果? [打印本页]

作者: lzlutao    时间: 2018-11-19 09:28     标题: 求助批处理dir或者for如何只取前10行结果?

  1. set /p= tv=>>tv.txt<nul
  2. for /f "delims=" %%a in ('dir /b /s /o:-d D:\backup\*.rar') do set /p=%%~na,>>tv.txt<nul
复制代码
代码见上,D:\backup\下边有很多rar,我只想取前10个到tv.txt,求教如何做?谢谢
作者: hlzj88    时间: 2018-11-19 09:56

这里要设个计数
  1. @echo off&&setlocal enabledelayedexpansion0
  2. set a=
  3. set /p= tv=>>tv.txt<nul
  4. for /f "delims=" %%a in ('dir /b /s /o:-d D:\backup\*.rar') do (
  5.   set /a a+=1
  6.   if !a! leq 10 (set /p=%%~na,>>tv.txt<nul) else (exit)
  7. )
复制代码
大意是这样,没有测试。
作者: Batcher    时间: 2018-11-19 09:59

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. set /p= tv=>>tv.txt<nul
  5. for /f "delims=" %%a in ('dir /b /s /o:-d D:\backup\*.rar') do (
  6.     set /a n+=1
  7.     if !n! leq 10 (
  8.         set /p=%%~na,>>tv.txt<nul
  9.     )
  10. )
复制代码

作者: lzlutao    时间: 2018-11-19 11:24

厉害,已经OK了,太感谢2位了
作者: xczxczxcz    时间: 2018-11-19 12:04

可能没见过的
  1. ((Get-ChildItem "D:\backup\*.rar" -File)[0..9])|Set-Content ".\tv.txt"
  2. pause
复制代码
================




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2