野火论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始


查看: 14745|回复: 17

[分享] 关于改进批处理--让pro/e自动搜索不同文件夹中的零件,解决组件再生失败

[复制链接]

3

主题

57

回帖

2

威望

工程师

Rank: 3Rank: 3

积分
323
发表于 2013-12-12 17:00 | 显示全部楼层 |阅读模式
本帖最后由 yewanfu1 于 2013-12-12 17:20 编辑
  1. del /a/f/q search.pro && FOR /F "usebackq delims==" %%i IN (`dir "./"/a:d/s/b`) DO @echo.search_path "%%i" >>search.pro
复制代码
将上面保存成BAT或CMD文件文件名随意取
放入快捷键或到工作目录中运行一下就好了。 工作目录调整后也会跟着调整不需要在批处理里写工作目录不方便。
如要在系统窗口中运行的话将%%i改成%i就可以了。
  1. del /a/f/q search.pro && FOR /F "usebackq delims==" %i IN (`dir "./"/a:d/s/b`) DO @echo.search_path "%i" >>search.pro
复制代码
XP电脑测试通过。
如果不能编辑贴子的话把以下面内容删除掉谢谢。

评分

参与人数 1威望 +1 收起 理由
野火 + 1 感谢分享

查看全部评分

3

主题

33

回帖

0

威望

实习生

Rank: 1

积分
43
发表于 2013-12-12 19:17 | 显示全部楼层
新手  不明白意思  哈哈
回复 支持 反对

使用道具 举报

7

主题

1227

回帖

93

威望

讲师

Rank: 6Rank: 6

积分
1591

热心助人勋章希望之星勋章

发表于 2013-12-12 20:36 | 显示全部楼层
高手!我给你一个赞!真的很不错!
回复 支持 反对

使用道具 举报

24

主题

1642

回帖

209

威望

教授

Rank: 8Rank: 8

积分
3034

热心助人勋章优秀会员勋章希望之星勋章

发表于 2013-12-13 07:55 | 显示全部楼层
我只知道用search 你这个太高级了  看不懂
回复 支持 反对

使用道具 举报

9

主题

241

回帖

0

威望

工程师

Rank: 3Rank: 3

积分
272
发表于 2014-1-12 10:45 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

53

主题

1326

回帖

25

威望

讲师

Rank: 6Rank: 6

积分
1792
QQ
发表于 2014-1-14 17:29 | 显示全部楼层
好用啊,有了搜索路径,将工作目录中的零部件分别放在相应的文件夹中,便于分类、管理。
回复 支持 反对

使用道具 举报

53

主题

1326

回帖

25

威望

讲师

Rank: 6Rank: 6

积分
1792
QQ
发表于 2014-1-14 21:04 | 显示全部楼层
楼主,这招的确好使啊,能不能把  search.pro  文件所在的路径也同时“批处理”进  config.pro  呢?
类如运行  search.bat 时除了自动生成在  search.pro 外, 还会在  config.pro  中自动写入  search_path_file D:\工作目录\search.pro。
期待大师的力作..........
回复 支持 反对

使用道具 举报

3

主题

57

回帖

2

威望

工程师

Rank: 3Rank: 3

积分
323
 楼主| 发表于 2014-1-21 10:06 | 显示全部楼层
本帖最后由 yewanfu1 于 2014-1-21 15:44 编辑

好久没来这论坛了,刚无意看到这个.你学一下批处理这个很简单的,
  1. del /a/f/q search.pro && FOR /F "usebackq delims==" %%i IN (`dir "./"/a:d/s/b`) DO @echo.search_path "%%i" >>search.pro
  2. ::加一段代码
  3. echo  search_path_file %cd%\search.pro>>config.pro
复制代码
这个还没改进,运行一次 多个了路径.

这个可以删除指定行新建指定行.有多行可以删除最后行添加
原贴地址:https://bbs.et8.net/bbs/showthread.php?t=915881
  1. del /a/f/q search.pro && FOR /F "usebackq delims==" %%i IN (`dir "./"/a:d/s/b`) DO @echo.search_path "%%i" >>search.pro
  2. ::加一段代码
  3. for /f "tokens=*" %%a in (config.pro) do @echo %%a|find /v /i "search_path_file" >> config.pro.bak
  4. del /a/f/q config.pro
  5. ren config.pro.bak config.pro
  6. echo search_path_file %cd%\search.pro>>config.pro
复制代码
另方法
  1. @echo off
  2. ::获得行号
  3. for /f "tokens=1* delims=:" %%a in ('findstr /n /I search_path_file config.pro') do set h=%%a
  4. ::如果config.pro没有search_path_file选项则添加
  5. if "%h%" == "" echo search_path_file %cd%\search.pro>>config.pro
  6. ::指定行号改为指定字符
  7. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* config.pro') do (
  8.   if "%%b"=="" (echo,)else set/a h-=1,1/h&&echo,%%b||echo search_path_file %cd%\search.pro
  9. ))>config.pro.bak 2>nul
  10. ::改文件名
  11. del /a/f/q config.pro && ren config.pro.bak config.pro
  12. pause
复制代码
以上XP系统测试通过
回复 支持 反对

使用道具 举报

8

主题

234

回帖

0

威望

工程师

Rank: 3Rank: 3

积分
248
发表于 2014-4-3 23:30 | 显示全部楼层
完全看不懂啊
回复 支持 反对

使用道具 举报

0

主题

16

回帖

0

威望

实习生

Rank: 1

积分
17
发表于 2014-5-29 15:34 | 显示全部楼层
看起来很高级的样子
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请联系我们,本站将立即改正或删除。

QQ|手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号

GMT+8, 2024-5-6 22:08 , Processed in 0.099753 second(s), 26 queries .

快速回复 返回顶部 返回列表