iCAx开思网

标题: 請教高手,程序單的一個問題 [打印本页]

作者: bonnopp    时间: 2007-4-1 14:13
标题: 請教高手,程序單的一個問題
在程序單要秀出完整的圖檔路徑,
例如 " D:\pfm\1\123.pfm ",
exf檔案裡,是該輸出那一個變數?
請高手幫忙,謝謝!

[ 本帖最后由 bonnopp 于 2007-4-1 22:07 编辑 ]
作者: darkbit    时间: 2007-4-1 14:22
变量是PART_NAME
但是...嘿嘿
作者: darkbit    时间: 2007-4-1 14:30
POST时会附带输出一个文件
即print00.txt
以前一直认为它是无用的
但它的第一行会记录正确的文件路径,不论何种状态
虽然变量PART_NAME也指明文件路径,但有一种情况会指错,我还没试过GPP2,不知有没有改进
因此,利用print00.txt,把它的第一行记录抽取出来用于你的程序单中才是最保险的
作者: nicklin80    时间: 2007-4-1 15:18
感谢DARKBIT兄,本人又增长了见识
作者: man517    时间: 2007-4-1 18:02
不懂
作者: bonnopp    时间: 2007-4-1 22:06
" 利用print00.txt,把它的第一行记录抽取出来用于你的程序单中才是最保险的 ",
該如何使用?我是使用print02來產生*.csv,再用exel來編輯程序單的。
"PART_NAME"不是檔案名稱而已嗎?它可秀出完整的檔案路徑嗎?
作者: darkbit    时间: 2007-4-2 09:23
你有没有去试呢
试试不就明白了
作者: yhsean    时间: 2007-4-2 13:05
set/a i=0

for /f %%A in (print00.txt) do (
                                                     (    if i==0( set file=%%A
                                                            ) else ( @echo.)
                                                     ) && set/a  i+=1
)

echo  The 1st line is %file% total  line number:%i%
作者: darkbit    时间: 2007-4-2 13:42
呵呵,叶兄近来好啊
也来段代码,和叶兄差不多
setlocal enabledelayedexpansion
set js=1
for /f %%a in (print00.txt) do (
if "!js!"=="1" echo 文件:%%a>>%程序单%
set js=2
)
endlocal
作者: yhsean    时间: 2007-4-2 15:14
darkbit  也好

  代码只是给出一种方法  如果想抽取第  n  行的话 就可以设置 if i==n-1

好久没研究这些了啊.  希望论坛的朋友解决问题注重方法的重要
作者: bonnopp    时间: 2007-4-2 23:26
感謝幾位前輩的指導,我是第一次改程序單,
原本的程序單是輸出htm的格式,
現在改成exel的格式,很多東西是自已摸出來的,
所以還是很菜,很不容易弄出exel的格式,
現在只差"圖檔的路徑",我的功力很差,
所以上面二位前輩寫的程式碼,我不知道該放在 .exf檔案裏那個位置,
試過幾個位置都一直出現錯誤,能不能煩請前輩再講清楚,
感謝各位前輩!
作者: sjhxs    时间: 2007-4-3 08:03
路径变量应该是PART_PATH

从print00.txt提取偶来段更简单的

echo 文件路径:>>程序单 && findstr ".:" print00.txt>>程序单

[ 本帖最后由 sjhxs 于 2007-4-3 08:07 编辑 ]
作者: bonnopp    时间: 2007-4-3 23:40
原帖由 sjhxs 于 2007-4-3 08:03 发表
路径变量应该是PART_PATH

从print00.txt提取偶来段更简单的

echo 文件路径:>>程序单 && findstr ".:" print00.txt>>程序单


這位老大,PART_PATH 只有秀出 " D:" 或 "C:",
ECHO這段我並不懂,"文件路徑"是指我輸出程序單的路徑嗎?
而" 程序單 "應該就是我所輸出程序單的檔名吧!
作者: sjhxs    时间: 2007-4-7 07:19
楼主看来还是用变量来实现吧
PART_PATH  +  PART_NAME 不就是完整的图档路径嘛!

"Path=" PART_PATH  PART_NAME ".pfm/elt";

[ 本帖最后由 sjhxs 于 2007-4-7 08:43 编辑 ]
作者: bonnopp    时间: 2007-4-8 11:02
原帖由 sjhxs 于 2007-4-7 07:19 发表
楼主看来还是用变量来实现吧
PART_PATH  +  PART_NAME 不就是完整的图档路径嘛!

"Path=" PART_PATH  PART_NAME ".pfm/elt";


這位老大依照你指令,秀出來的如果如下:
 ”PATH=d:\yp2563-ca.PFM/ELT”
並不是完整的路徑,完整的路徑應是
 ” d:\pfm\1\23\yp2563-ca.pfm "
應如何修正呢?

[ 本帖最后由 bonnopp 于 2007-4-8 11:18 编辑 ]
作者: sjhxs    时间: 2007-4-8 12:07
原帖由 bonnopp 于 2007-4-8 11:02 发表


這位老大依照你指令,秀出來的如果如下:
 ”PATH=d:\yp2563-ca.PFM/ELT”
並不是完整的路徑,完整的路徑應是
 ” d:\pfm\1\23\yp2563-ca.pfm "
應如何修正呢?

   
   这正是这一变量的问题所在,如果直接双击文件进入,则处理出来的是正确路径,而从快捷方式进入,则处理出来的路径会变成快捷方式起始位置的路径。所以最保险的方法是在print00.txt中提取
作者: bonnopp    时间: 2007-4-8 19:42
那我應該如何從print00.txt中提取呢?前面幾位高手所講的方式我都試不出來,
你可以詳細的教我如何做嗎?麻煩你了!
作者: yhsean    时间: 2007-4-9 10:41
用变量组

part_path part_path2 part_path3 part_name".pfm"

[ 本帖最后由 yhsean 于 2007-4-9 13:11 编辑 ]
作者: bonnopp    时间: 2007-4-11 00:42
我終於懂了,原來是要放在*.cmd裏面,
我cmd裏加了下面的指令,它在d:底下產生一個ncdoc.csv的檔案,裡面有我要的圖檔路徑,可是應該要在產生程序單的路徑下,而不是在d:之下,老大幫我看看那裏出錯了?

echo \NCHKN\" PART_NAME "\" TPNAME "\:>>NCDOC.CSV && findstr ".:" print00.txt>>NCDOC.CSV
作者: aaomyehz    时间: 2007-6-30 19:41
那位大哥能否请告诉我CinatronE版自动程序单中,程序名称是怎编出来?谢谢




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3