關於^p及filecopy指令
本帖最后由 wongfung 于 2009-4-26 17:39 编辑1.我定義了開啟的檔案為$file, 但不想直接用_ReplaceStringInFile改源文件, 於是用了FileCopy指令, 但不能定義$var為copy後的檔案.
在路徑方面, 我不知道如何建立在WorkingDir下的file裏(工作目錄下的子資料夾), 但又不想用絕對路徑...囧
$file = FileOpenDialog("Open Files", @WorkingDir, "All Files(*.*)" , 1 )
$var = FileCopy ( $file, "\file\" , 1 )
2.我想問問如何用
#include <File.au3>
_ReplaceStringInFile ( $var, "<xxx><yyy>", "<xxx>^p<yyy>", 0 , 1 )
將
<xxx><yyy>
變成
<xxx>
<yyy>
呢???
以上紅色的地方為有問題的部分
au3新手, 求解答. 我想很多朋友和我一样,不是不想帮你,而是看不明白你的问题。 可能我的表達方式有問題
我主要想問一下:
1.那一個指令與word中的^p相同而且可以直接在ReplaceStringInFile裏使用?
2.如何給予已複製檔案一個變數$var(因為我不想直接改原文件)?(像FileOpenDialog般不行...)
3.我想輸入一個由軟件目錄開始子目錄的路徑(不是絕對路徑)(e.g. \tools\), 但不知道應該如何輸入...囧 1.如果我没弄错,word中的^p应该是换行符,那么au3中表示为@CRLF,即回车+换行。
2.如果你要把文件复制到工作目录下的file里,就是 $var = FileCopy ( $file, @WorkingDir & "\file\" , 1 )
3.运行脚本所在目录为@ScriptDir,所以其子目录tools的绝对路径为 @ScriptDir & "\tools" 嗯, 現在學會了 "x" & @xxx 的運用了
不過
$file = FileOpenDialog("Open", @WorkingDir, "All Files(*.*)" , 1 )
$var = FileCopy ( $file, @ScriptDir & "\out\" , 1 )
_ReplaceStringInFile ( $var, "123", "456" & @CRLF & @CRLF , 0 , 1 )
當中的$var無法在_ReplaceStringInFile中運行
囧??? 额,$var = FileCopy ( $file, @ScriptDir & "\out\" , 1 ),$var 现在是 FileCopy 函数的返回值,也就是复制成功与失败。
看你的需求,$var 应该是你设定的目录+用户选择的文件名,这还需要一些处理。
$var = StringTrimLeft($file, StringInStr($file, "\", 0, -1)) ; 去除文件名中的路径
$var = @WorkingDir & "\file\" & $var ; 合并新路径和文件名
或者,去除路径还可以用<File.au3>中的_PathSplit来做,不过比较麻烦。 额,$var = FileCopy ( $file, @ScriptDir & "\out\" , 1 ),$var 现在是 FileCopy 函数的返回值,也就是复制成功与失败。
看你的需求,$var 应该是你设定的目录+用户选择的文件名,这还需要一些处理。
$var = Str ...
sensel 发表于 2009-4-25 23:22 http://www.autoitx.com/images/common/back.gif
十分感謝, 已經解決了~ {:face (254):}看不懂啊
页:
[1]