Batch File chạy exe, tạo tệp, lưu và đăng trong thư mục mới hàng đêm


0

Đây là một repost, tôi đã có nó trên trao đổi stack và được bảo rằng nó phù hợp hơn ở đây cho trang web superuser. Không chắc chắn sự khác biệt. Lần đầu tiên khách truy cập vào một trong hai trang web ... nhưng ở đây nó đi. ~ Chúc mừng

Tôi là một người mới gặp khó khăn nhất khi công việc của tôi đang phát triển và chủ sở hữu sẽ không cung cấp đào tạo. Vì vậy, tôi có nhiều mã tập tin hàng loạt đọc như thế này hoặc rất giống nhau, cuối cùng chạy một báo cáo hàng đêm và thả tập tin pdf vào một ổ đĩa chung cho tôi.

Lô của tôi đọc như thế này và có năm báo cáo ... Tôi đã nhập hai báo cáo dưới đây.

R:\Simply\Simply.exe /u:username /p:password /rpt:"Daily Report" /pgp:Custom /pgs:pdf /el:R:\reports\str001\DailyReports /s

R:\Simply\Simply.exe /u:username /p:password /rpt:"Negative Report" /pgp:Custom /pgs:pdf /el:R:\reports\str001\DailyReports /s

Mỗi sáng tôi phải tạo một thư mục mới có ngày hôm nay và di chuyển tất cả các tệp được tạo vào thư mục này.

Tôi nên lưu ý rằng đợt này cần chạy trên winxp và win7 vì vậy việc hẹn hò với những gì tôi đã đọc cần phải xem xét điều này.

Tôi đã đọc và thử một số bài viết ở đây. Tôi không chắc chắn để đặt mã ở đâu, làm thế nào để chèn mã phía sau mã hiện tại của tôi, trước mặt, trên mỗi dòng. Một lần nữa, người mới tìm kiếm một số lời khuyên. Quỷ quái, tôi thậm chí đã thử chạy một tệp .bat mới chỉ bằng cách tạo mã thư mục mới dựa trên các bài đăng khác ở đây ... và tôi không thể làm cho chúng hoạt động được. Tôi có thể liên kết chúng ở đây nhưng điều đó có vẻ lãng phí thời gian. Tin tôi đi, tôi đã cố gắng giải quyết chuyện này .... Tôi thích giải quyết và học hỏi nhưng tôi đã lạc lối. Hãy giúp tôi

Tôi muốn có tệp bó tạo một thư mục có ngày tháng năm theo định dạng của YYYY_MM_DD và sau đó tự động lưu các tệp vào thư mục đã nói khi nó chạy thay vì tôi phải di chuyển chúng hàng ngày.

Lưu ý: Nếu ngày tồn tại, tôi không muốn ghi đè dữ liệu nhưng muốn thả các tệp vào vị trí đó.

Câu trả lời:


0

Giải pháp này giả định rằng các báo cáo của bạn là PDF và chúng là các tệp PDF duy nhất trong thư mục báo cáo của bạn. Ngoài ra, một số giải pháp này đã được điều chỉnh từ:

https://stackoverflow.com/questions/20796749/re-naming-a-file-name-to-include-yesterdays-date-USE-command-prompt/20798129#20798129

Nội dung tập tin lô mới:

@ECHO OFF

R:\Simply\Simply.exe /u:username /p:password /rpt:"Daily Report" /pgp:Custom /pgs:pdf /el:R:\reports\str001\DailyReports /s

R:\Simply\Simply.exe /u:username /p:password /rpt:"Negative Report" /pgp:Custom /pgs:pdf /el:R:\reports\str001\DailyReports /s

... (more of your report stuff goes here)

SET day=-1
ECHO >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
ECHO >>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
FOR /f %%a IN ('cscript /nologo "%temp%\%~n0.vbs"') DO SET "result=%%a"
DEL "%temp%\%~n0.vbs"
SET "YYYY=%result:~0,4%"
SET "MM=%result:~4,2%"
SET "DD=%result:~6,2%"
SET "date-yesterday=%yyyy%_%mm%_%dd%"

IF NOT EXIST %date-yesterday%\ (
    MD %date-yesterday%
)

MOVE *.PDF %date-yesterday%

Tôi đã chạy lô và tất cả các tệp của tôi (pdf) đã bị rơi vào ổ đĩa chung nhưng một thư mục mới có ngày thứ năm không được tạo và các tệp không bị di chuyển, chỉ mất trên ổ đĩa (Tôi nên lưu ý rằng tôi đã xóa các báo cáo của ngày trước khi tôi đã chạy .... chỉ để đảm bảo không có gì mâu thuẫn từ những gì đã chạy tối qua)
MissChris

Tôi đã sửa đổi dòng IF KHÔNG EXIST của tôi một chút. Hãy nhớ rằng tệp bó phải được chạy từ cùng một đường dẫn với ổ đĩa chung của bạn. Nếu không, bạn có thể muốn xem xét việc sử dụng CD trong tệp bó của mình để thay đổi thư mục làm việc hiện tại hoặc cập nhật dòng MD và MOVE để bao gồm một đường dẫn đầy đủ.
psouza4

VÂNG!! Hoàn hảo. TYVM ... đã tiết kiệm được một tuần .... và bạn đã chết. Điều đó là vậy đó. Tôi đã có lô của tôi trong một thư mục lô ở nơi khác. Khi tôi di chuyển nó đến cùng một con đường. Nó chạy hoàn hảo.
MissChris
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.