Board logo

标题: [文本处理] 随机抽行的批处理 文本指定路径就不可以?怎么改 [打印本页]

作者: idc878787    时间: 2023-9-9 18:18     标题: 随机抽行的批处理 文本指定路径就不可以?怎么改

D:\zonglian.txt  这个文本指定路径就不行?怎么改
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set fn="D:\zonglian.txt"
  4. for /f "tokens=2 delims=:" %%i in ('find /c /v ".*" "%fn%"') do set  /a n=%%i
  5. for /l %%i in (1,1,5) do (
  6. set /a a=!random! %% %n% +1
  7. set r=!r!,!a!)
  8. set n=
  9. (for /f "tokens=*" %%i in ('type "%fn%"') do (
  10. set /a n+=1
  11. for %%j in (%r%) do  if %%j==!n! echo %%i))>D:\zlian.txt
复制代码

作者: Five66    时间: 2023-9-9 18:39

根目录没有写权限??以管理员运行??
作者: Five66    时间: 2023-9-9 18:46

啊试了下set fn="D:\zonglian.txt"
得改成set "fn=D:\zonglian.txt"
而且D盘根目录需要权限,不然写入文件时拒绝访问
而且某些情况下会出现:
以零为除数的错误。
作者: idc878787    时间: 2023-9-9 19:06

回复 3# Five66


    以零为除数的错误。就是显示这个
作者: Five66    时间: 2023-9-9 19:53

回复 4# idc878787


    路径中有分割符英文冒号(
将tokens=2改成tokens=3
作者: 77七    时间: 2023-9-9 19:54

  1. set "fn=D:\zonglian.txt"
  2. for /f "useback delims=" %%a in ("%fn%") do set /a n+=1
复制代码

3、4行
作者: idc878787    时间: 2023-9-9 20:11

回复 6# 77七


    这个可以 谢谢




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