This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 求助: 客户需要每30分钟FTP一个.txt文件,每个文件的名字不同,厂但是我确需要知道文件名,才能运行一个小script. 我现在想知道在set up FTP transaction的时候可不可该文件名呢?已经被折磨的焦头烂额了,多谢了!
-shinning(dudu);
2007-2-5
(#3479325@0)
-
我必需先知道能不能这么设置,才能打电话要求我的客户,否则他们才不管呢! 烦死我了
-shinning(dudu);
2007-2-5
(#3479327@0)
-
呵呵,你的陈述也把偶弄得焦头烂额了,客户是上传还是下载?然后把你错别字改改,也许有人能看懂。
-maplew2008(call me at 911);
2007-2-5
(#3479330@0)
-
是什么FTP系统?如果是roboFTP或者其他可以编程的FTP环境,肯定可以。dos应该也可以。 google DOS shell script编程,希望对你有帮助。
-21cnhanhao(大耳朵兔子);
2007-2-5
{111}
(#3479818@0)
-
谢谢兔兔, 不知道是什么系统,老板不让问 :(
-shinning(dudu);
2007-2-6
(#3480406@0)
-
抱歉,太着急了,说都不会话了. 客户正在建一个FTP, 自动每隔30分钟上传一个txt文件,用于update table, 文件是以创建时间命名,所以自动上传时,我不知道文件名, 我想知道在建FTP时有没有办法把文件上传到server时该名,这样一来我就知道文件名了. 谢谢还有就是,我并不建那个FTP, 只想知到能不能, 因为我现在就是个夹心饼干, 我想问客户技术人员,可老板不让,说在问之前,要先知道这是可行的,否则对方会简单说"不行",就把我打发了. 经常会遇到这种情况, 我夹在中间很难过!!! :(
-shinning(dudu);
2007-2-6
{209}
(#3480401@0)
-
对不起,发了贴子以后才发现还是有错字.
-shinning(dudu);
2007-2-6
(#3480404@0)
-
建一个文本文件,记录下处理过的文件名,很容易
-zcfy(山猪);
2007-2-6
(#3480433@0)
-
ftp时当然可以改文件名。查一下ftp命令就知道了。
-flying_snow(飞雪浮冰);
2007-2-6
(#3480456@0)
-
do you have shell access (not ftp access)to those uploaded file? Or in another word, do you have account in that ftp server, the account is able to access those uploaded file?
-647i(流浪的步行万里);
2007-2-6
(#3480412@0)
-
其实所有的难点就是因为客户文件上传到shared web server上,这些文件是用来update sql server table的, 但是ISP在白天不给set up DTS or schadule.我就想自己写一个script,临时用来update table.可是因为不知道文件名,不好写这个script.我只能获得这些文件,其他我都做不了啊...
-shinning(dudu);
2007-2-6
{38}
(#3480440@0)
-
上传的文件肯定在一个文件夹里。把那个文件夹的文件都处理一遍不就成了?
-a8848(随便);
2007-2-6
(#3480449@0)
-
我要写的script也是给客户用的,每次客户需要update table,只要点一下submit, script应该自己打开文件update table.在那个文件夹里的文件就象是这样: "02-06-2007-09-30-30.txt" (mm-dd-yyyy-hh-mm-ss), 怎样知道最后一个上传的文件名呢?
-shinning(dudu);
2007-2-6
(#3480465@0)
-
$dir = "/usr";
$listing = `ls $dir`; 不对吗?
-remember_me_not(r-m-n);
2007-2-6
(#3480475@0)
-
if it is unix, with shell, in the file directory, you can use 'ls -ltr|head -1|awk '{...-cut-the-file-name'}" to get the file which is uploaded last. In Windows, it is little bit difficult, I am not familiar with dos/vbscript.you are not sure which sub-directory the file is in:
unix: find
windows: dir/s(difficult)
if still can't identifiy the last file(due to directory problem or OS limitation, try to make local mirror from the ftp server, mirror all the file(keep the timestamp of the file), then process the file locally(automaticly, or manually)
-647i(流浪的步行万里);
2007-2-6
{332}
(#3480481@0)
-
用perl script在DOS下很容易实现。
-flying_snow(飞雪浮冰);
2007-2-6
(#3480485@0)
-
是在windows环境下,而且是在shared web server上,我能做的很有限, 我要写的script是给客户用,不可能下载后再更新table.
-shinning(dudu);
2007-2-6
(#3480490@0)
-
我是外行别笑话我。用system command dir or ls 不就可以得到文件名了吗=>
-remember_me_not(r-m-n);
2007-2-6
(#3480472@0)
-
是在windows环境下,现在是用asp or asp.net编. 目的是打开txt文件update table.(因为ISP不让用DTS)
-shinning(dudu);
2007-2-6
(#3480477@0)
-
谢谢楼上各位了, 现在我还是没有什么好办法, 只能寄希望于客户能给我一个固定文件名的文件了...:(
-shinning(dudu);
2007-2-6
(#3480502@0)
-
一个简单的方法,不知是否可用。你就处理一个文件后给它改名,这样每次访问目录,文件名没有改过的就是需要处理的。
-flying_snow(飞雪浮冰);
2007-2-6
(#3480504@0)
-
谢谢,我会试试的
-shinning(dudu);
2007-2-6
(#3480534@0)
-
恐怕LZ没有权限改别人服务器上的文件名吧。
-bdbs(不多不少);
2007-2-6
(#3480642@0)
-
I think u'd better list the requirement and limit(waht can use, what cann't be used) clearly.
-647i(流浪的步行万里);
2007-2-6
(#3480509@0)
-
现在情况是: 客户端每隔30分钟自动上传一个txt文件到shared web server上,文件名格式为(mmddyyhhmmss.txt),这些文件用于update sql server. ISP不给建DTS,也不建立运行script的schedual.我想写一个临时解决问题的asp or asp.net的script.客户一旦运行这个script, 能自动找到最后上传的文件,并打开它update table.
-shinning(dudu);
2007-2-6
{70}
(#3480531@0)
-
也想问问大家,在ISP不许建立DTS的情况下,都是怎样自动update table的( 客户也不建ODBC connection的情况下)
-shinning(dudu);
2007-2-6
(#3480515@0)
-
我认为不必考虑文件名,只检查文件的时间属性,总是取最新的文件
-skywriting(天书);
2007-2-6
(#3480523@0)
-
Thanks
-shinning(dudu);
2007-2-6
(#3480571@0)
-
这么做很危险。如果对方文件没有及时更新,或者对方生成新文件的时间和LZ这边读文件的时间有差,LZ这里或者可能会重复读取相同文件,或者可能会遗漏次新的文件。
-bdbs(不多不少);
2007-2-6
(#3480652@0)
-
不必知道文件名,每次ls出所有文件,把处理过文件名的存在什么地方,把ls出来的新文件名和老的比较,没处理的处理,然后放到没处理过的文件列表里。
-maplew2008(call me at 911);
2007-2-6
(#3480538@0)
-
谢谢,我去找找,怎样用asp列出一个目录下的文件.
-shinning(dudu);
2007-2-6
(#3480550@0)
-
既然是放在Web Server上,我的理解就是可以以WEB方式访问。直接用你的ASP访问那个页面,然后对返回的HTTP STREAM做字串处理。这是很COMMON的方式。不要指望客户那边能为你做任何改动。而且,如果按你所希望的,客户使用固定文件名,对你来说只能是个噩梦。因为你很难判断那个文件是已经更新了的还是老的文件。假设对方系统宕一个小时,你的数据库里的数据就会重复3遍。
-bdbs(不多不少);
2007-2-6
{139}
(#3480635@0)
-
你看这样的脚本程序可以用吗for %%f in (folder\*.txt)
do osql -E -i bulkinsert %%f
Log=log\%%f.txt
基本上意思是这样的。 找到每个文件,用osql , insertbulk
其实你完全可以自己写一个程序, 让windows schedule调用。只要管理员给你权限,没有什么干不了的 :)
-21cnhanhao(大耳朵兔子);
2007-2-8
{233}
(#3486481@0)