muck 发表于 2022-7-7 01:30:11

使用批处理进行crea

我试图编写一个批处理程序,列出以*结尾的文件的当前目录。图纸
到我的C驱动器上的一个文件中。
我使用了以下代码:
目录*。dwg/b>C:文件列表。txt文件
启动记事本C:文件列表。txt文件
 
此代码仅给出当前目录中的文件名。
我需要在文件列表中列出路径和文件名。txt文件
有没有不包含子目录的方法??
 
非常感谢。

BlackBox 发表于 2022-7-7 01:47:03

编辑:我知道你正在使用Windows批处理文件。。。但是我有LISP(对不起,我不太熟悉批处理文件)。
 
你研究过vl目录文件功能吗?
 
我用它列出在active directory中找到的所有图形,您*可能*能够从中提取一块供您使用:
 

(defun c:ShowDWGFiles(/ dwgList)
(vl-load-com)
(terpri)
(if (setq dwgList (vl-directory-files (getvar 'dwgprefix) "*.dwg" 1))
    (progn
      (prompt "\nListing drawings found in active directory... ")
      (terpri)
      (textpage)
      (foreach filedwgList
      (prompt (strcat "\n>>" file)))))
(terpri)
(princ))

BIGAL 发表于 2022-7-7 01:55:17

有一种简单的方法可以将路径添加到现有的txt文件列表中在Word中打开txt文件使用搜索替换为C:\mypath\andsubdir1\andsubdir2^p
 
^p表示替换行尾字符,以便将路径添加到下一行的开头。
 
我会选择renderman的方式,不过你不需要编辑。

muck 发表于 2022-7-7 02:04:33

我使用了上面的lisp代码,但是如何在我的
列表
非常感谢。

Ahankhah 发表于 2022-7-7 02:06:48

淤泥
只需将RenderMan代码的第10行更改为:
(prompt (strcat "\n>>" file))至:
当然,它返回AutoCAD当前目录中的文件列表。
 
梅尔达德
www.irancad。通用域名格式

Ahankhah 发表于 2022-7-7 02:15:08

以下是将信息写入文件的代码。
 

(defun c:ShowDWGFiles (/ dwgList)
   (vl-load-com)
   (terpri)
   (if (setq dwgList (vl-directory-files (getvar 'dwgprefix) "*.*" 1))
       (progn (setq file-id (open "C:\\FileListing.txt" "w"))
            (princ "\nListing drawings found in active directory... " file-id)
            (princ "\n" file-id)
            (foreach file dwgList
                  (princ (strcat "\n" (getvar 'dwgprefix) file) file-id)
            )
       )
   )
   (setq file-id (close file-id))
)

BlackBox 发表于 2022-7-7 02:22:55

 
 
重复查询dwgprefix系统变量(不必要)。
 
相反,您可以简单地使用:
 

(defun c:ShowDWGFiles(/ path dwgList)
(vl-load-com)
(terpri)
(if (setq dwgList (vl-directory-files (setq path (getvar 'dwgprefix)) "*.dwg" 1))
    (progn
      (prompt "\nListing drawings found in active directory... ")
      (terpri)
      (textpage)
      (foreach filedwgList
      (prompt (strcat "\n>>" path file)))))
(terpri)
(princ))

 
 
希望这有帮助!

BlackBox 发表于 2022-7-7 02:34:10

将列表写入文件。。。然后展示:
 
5
页: [1]
查看完整版本: 使用批处理进行crea