banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Xin hỏi về cách viết file .bat để update chương trình  XML
  [Question]   Xin hỏi về cách viết file .bat để update chương trình 10/02/2007 00:45:55 (+0700) | #1 | 40915
kid7484
Member

[Minus]    0    [Plus]
Joined: 09/02/2007 12:17:03
Messages: 9
Offline
[Profile] [PM]
Xin chào mọi người, mình là người mới và có một câu hỏi xin mọi người giúp cho.

Mình muốn viết 1 file update.bat, mục đích của file này là update 1 chương trình (Chương trình chạy trên Win 2000).

Cụ thể là: File update.bat sẽ xoá các thư mục cũ/files cũ đi và thay vào đó là thư mục mới/files mới. Vấn đề ở đây là trong phần cài đặt mình để cho người dùng có thể lựa chọn ổ, đường dẫn nơi họ muốn cài đặt chương trình.

Trong file Setup mình đã lưu được file path.txt ở thư mục C:\WINNT, trong file đó mình đã lấy được đường dẫn nơi họ cài ứng dụng.
Ví dụ file path.txt:
----------------
[root]
abc=D:\chat
----------------

Vậy có cách nào để viết file update.bat mà trong đó mình có thể lấy được đường dẫn (ví dụ đường dẫn mong muốn lấy ở file path.txt đó là D:\chat) nơi họ đã cài đặt chương trình.

Và sau khi đã lấy được đường dẫn mong muốn, mình có thể thực hiện các thao tác xoá thư mục/files cũ và cập nhật thư mục/files mới bằng các câu lệnh dos.



Mình xin cảm ơn mọi người và hi vọng các cao thủ sẽ nhiệt tình giúp đỡ mình.
[Up] [Print Copy]
  [Question]   Re: Xin hỏi về cách viết file .bat để update chương trình 10/02/2007 02:41:41 (+0700) | #2 | 40931
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Tớ có 1 ý tưởng thế này:
Thay vì dùng file txt để lưu đường dẫn cài đặt của User, bạn dùng luôn 1 file bat gọi là file1.bat, rồi thực hiện update luôn trong file này:

Code:
D:
cd windows (cái này là đường dẫn user chọn)
del oldfile.exe (hoặc gì đó)
cd Nơi để new file
copy newfile.exe "nơi cài đặt"


Bạn có thể làm điều này bằng cách, lúc user chọn đường dẫn xong, bạn lấy đường dẫn đó và đưa vào path.bat bằng lệnh:

Code:
output path.bat


Còn file update.bat, bạn chỉ việc gọi chạy file "file1.bat" bằng lệnh:

Code:
call file1.bat
là Ok
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Xin hỏi về cách viết file .bat để update chương trình 10/02/2007 09:08:34 (+0700) | #3 | 40995
mikamehi
Member

[Minus]    0    [Plus]
Joined: 19/07/2006 10:09:06
Messages: 43
Offline
[Profile] [PM]
Cái này thì dễ thôi bạn à, bạn chèn một script sau:
rem---------------
set pathdir=0
rem biến pathdir sẽ chứa đường dẫn chứ trong file path.txt (cụ thể ở đây là d:\chat) muốn truy xuất một biến dùng thêm 2 dấu % bọc nó (%pathdir%)
rem Ví dụ: khi gõ %systemroot% sẽ tương đương với C:\windows (với WinXp)
for /f "skip=2 delims== tokens=2" %%a in ('find /i "abc=" c:\winnt\path.txt') do set pathdir=%%a
rem nếu gõ lệnh trực tiếp thì bỏ bớt %%a thành %a.
Muốn xem thử biến pathdir có chứa đường dẫn d:\chat hay không thì gõ
echo %pathdir%
[Up] [Print Copy]
  [Question]   Xin hỏi về cách viết file .bat để update chương trình 10/02/2007 12:13:09 (+0700) | #4 | 41011
kid7484
Member

[Minus]    0    [Plus]
Joined: 09/02/2007 12:17:03
Messages: 9
Offline
[Profile] [PM]
Cảm ơn bạn mikamehi nhiều quá, theo cách của bạn mình đã làm được rồi.
Một lần nữa cảm ơn bạn nhé!
[Up] [Print Copy]
  [Question]   Xin hỏi về cách viết file .bat để update chương trình 10/02/2007 12:16:49 (+0700) | #5 | 41012
kid7484
Member

[Minus]    0    [Plus]
Joined: 09/02/2007 12:17:03
Messages: 9
Offline
[Profile] [PM]
Hì hì tiện thể cho mình hỏi ai có mấy cái quyển sách dạy về câu lệnh dos này có thể share cho mình với được ko. Mình "cà rốt" mấy câu lệnh dos này quá.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|