อันนี้เป็นคำสั่ง Bat ผมก็อปเค้ามาใช้นะครับ
@echo off
set src_folder=R:\ReportS
set dst_folder=X:\2Q2016\on 2016-07-04
for /f "tokens=*" %%i in (File-list.txt) DO (
xcopy /S/E "%src_folder%\%%i*.*" "%dst_folder%"
)
pause
ส่วน file-list.txt ผมมีหน้าตาแบบนี้
010100001.SUB1
030001002.SUB1
030001003.SUB2
030001004.SUB0
030001005.SUBN
030004002.SUB2
และตัวไฟล์จริง ถูกสร้างโดยระบบมีชื่อประมาณนี้
010100001.SUB1_20160701.txt
010100001.SUB2_20160701.txt
...
999999999.SUBZ_20160731.txt
มันจะมีบางไฟล์ที่ File-list.txt สั่งเอาไว้ แต่ไม่มีไฟล์จากตัวจริงระบบ (อาจะเป็นเพราะไม่มีการเคลื่อนไหวของบัญชีในงวดดังกล่าว ทำให้ระบบไม่ได้วางไฟล์ให้)
คำถาม ทำอย่างไร ให้ batch.file ทำการ Logs ไฟล์เอาไว้ว่าอันไหนเจอและก็อปปี้เสร็จ อันไหนไม่เจอ (เพราะจะต้องไปให้คนทำในส่วนที่ไม่เจอ) ครับ
batch file : copy file ที่มีชื่อตาม File-list.txt
@echo off
set src_folder=R:\ReportS
set dst_folder=X:\2Q2016\on 2016-07-04
for /f "tokens=*" %%i in (File-list.txt) DO (
xcopy /S/E "%src_folder%\%%i*.*" "%dst_folder%"
)
pause
030001002.SUB1
030001003.SUB2
030001004.SUB0
030001005.SUBN
030004002.SUB2
และตัวไฟล์จริง ถูกสร้างโดยระบบมีชื่อประมาณนี้
010100001.SUB1_20160701.txt
010100001.SUB2_20160701.txt
...
999999999.SUBZ_20160731.txt
มันจะมีบางไฟล์ที่ File-list.txt สั่งเอาไว้ แต่ไม่มีไฟล์จากตัวจริงระบบ (อาจะเป็นเพราะไม่มีการเคลื่อนไหวของบัญชีในงวดดังกล่าว ทำให้ระบบไม่ได้วางไฟล์ให้)
คำถาม ทำอย่างไร ให้ batch.file ทำการ Logs ไฟล์เอาไว้ว่าอันไหนเจอและก็อปปี้เสร็จ อันไหนไม่เจอ (เพราะจะต้องไปให้คนทำในส่วนที่ไม่เจอ) ครับ