คำถามติดแท็ก batch

การประมวลผลแบบแบตช์เป็นการประมวลผลชุดคำสั่งหรือโปรแกรมซอฟต์แวร์โดยที่ผู้ใช้ไม่ต้องดำเนินการใด ๆ แบตช์ไฟล์เป็นไฟล์ข้อความที่มีลำดับของคำสั่งหรือการร้องขอโปรแกรมดังกล่าว โปรดใช้แท็ก [ไฟล์ชุด] สำหรับสิ่งนั้น

4
ปิดเครื่องคอมพิวเตอร์โดยอัตโนมัติหลังจากการดาวน์โหลดเสร็จสิ้น
ฉันกำลังดาวน์โหลดรุ่น Visual Studio Trial และดูเหมือนว่าจะใช้เวลาหนึ่งชั่วโมงหรือประมาณนั้นจึงจะเสร็จ ฉันต้องการปิดระบบคอมพิวเตอร์โดยอัตโนมัติหลังจากการดาวน์โหลดนี้เสร็จสิ้น ดังนั้นจึงเป็นไปได้ที่จะกำหนดค่าการปิดเครื่องอัตโนมัติหลังจากเสร็จสิ้นการดาวน์โหลดทั้งผ่านชุดสคริปต์หรือบางโปรแกรมภายนอก? แก้ไข:ฉันต้องการทราบว่ามีโปรแกรมที่สามารถวิเคราะห์กิจกรรมเครือข่ายและเรียกการปิดเครื่องอัตโนมัติ

1
วิธีเปลี่ยนพื้นหลังของเดสก์ท็อปของผู้ใช้ที่ระบุในแบตช์ไฟล์ [ซ้ำ]
ซ้ำได้: กำหนดการเปลี่ยนรูปพื้นหลัง Windows XP โดยไม่มีแอพเพิ่มเติม ฉันคิดว่าสิ่งนี้ไม่ได้ซ้ำกันเพราะฉันถามว่าจะเปลี่ยนพื้นหลังของผู้ใช้ที่แตกต่างกันไม่ใช่คนปัจจุบันเข้าสู่ ฉันรู้อยู่แล้วว่าจะทำอย่างไร โปรดลงคะแนนเพื่อเปิดคำถามของฉันอีกครั้ง ฉันสงสัยว่าจะเปลี่ยนพื้นหลังของเดสก์ท็อปของผู้ใช้ที่เฉพาะเจาะจงได้อย่างไร ฉันเข้าใจว่าคุณต้องดู HKEY_USERS แต่ฉันไม่รู้จะไปจากที่นั่น ฉันต้องทำสิ่งนี้ในไฟล์แบตช์ด้วย นี่สำหรับ windows xp


1
ชุดสคริปต์ความช่วยเหลือ, ค้นหา, แทนที่รีจิสตรีคีย์
ฉันพยายามหาสาเหตุที่คำสั่งการนำเข้า reg ของฉันไม่ทำงานในสคริปต์ด้านล่าง เมื่อฉันเรียกใช้การนำเข้า fileName.reg reg จาก DOS มันทำงานได้ดี แต่เมื่อรวมอยู่ในสคริปต์ด้านล่างมันไม่ทำอะไรเลยและฉันไม่พบสาเหตุ ฉันเห็นการส่งออกเสร็จสมบูรณ์อย่างถูกต้องและรูปแบบก็โอเคสำหรับฉัน เมื่อฉันใช้คำสั่ง reg import บนไฟล์ที่ส่งออกเดียวกันมันก็ใช้ได้ดี ด้านล่างเป็นรหัส @echo off SETLOCAL ENABLEEXTENSIONS SETLOCAL DISABLEDELAYEDEXPANSION REM This script updates the Windows Registry for the REM update Admin Nodes set service1Key=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\MyService1\Parameters set service2Key=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\MyService2\Parameters echo updating [%service1Key%] call :updateRegKeys %service1Key% echo updating [%service2Key%] call :updateRegKeys …

1
คุณจะบู๊ตไปยังไดรฟ์แยกต่างหากที่ถูกโคลนได้อย่างไรเพื่อวัตถุประสงค์ของพาร์ติชั่นระบบสำรอง?
ฉันใช้ Acronis กับ ภาพโคลน พาร์ติชันระบบ (OS) ไปยังไดรฟ์แยก (ไม่ใช่ดิสก์โคลน) อุ๊ปส์พาร์ติชั่น วัตถุประสงค์ของไดรฟ์แยกต่างหากที่มีการโคลนพาร์ติชันระบบคือเพื่อให้สามารถเข้าสู่ระบบสำรองข้อมูลนั้นได้ทุกเมื่อโดยใช้วิธีการเมนูการบู๊ต UEFI หลังจากสร้างโคลนจากไฟล์ภาพและใช้เมนูบู๊ตเพื่อบู๊ตไปยังดิสก์ / พาร์ติชั่นพาร์ติชั่นจะไม่ได้รับการตั้งค่าสำหรับการบู๊ตตามที่ระบบ windows7 ต้องการ ฉันจะติดตั้งพาร์ติชั่นที่โคลนนี้บนดิสก์ที่แยกต่างหากได้อย่างไรจึงจะสามารถบู๊ตได้อย่างง่ายดายเช่นเดียวกับที่บู๊ตในไดรฟ์ระบบดั้งเดิม พาร์ติชันหลักมีตัวอักษร "C:" และติดป้ายกำกับ "SYS7" พาร์ติชันโคลนบนดิสก์ที่แยกต่างหากเรียกว่า "D:" และติดป้าย SYS7Bak พาร์ติชันทั้งสองเป็นพาร์ติชันแรกบนดิสก์ พาร์ติชั่นเป็นเพียงส่วนเล็ก ๆ ของดิสก์ที่มีขนาดใหญ่มากทั้งหมดพาร์ติชั่นมีขนาดประมาณ 30G พาร์ติชั่นที่เรียกว่า SYS7 มีเฉพาะระบบปฏิบัติการและโปรแกรมเท่านั้นไม่มีการจัดเก็บข้อมูลจำนวนมากบนพาร์ติชัน พาร์ติชันถูกถ่ายภาพไปยังไฟล์บนดิสก์เพื่อสำรองไฟล์ด้วย มาเธอร์บอร์ดใช้ไบออส UEFI และสามารถบูทโดยตรงไปยังไดรฟ์ได้โดยตรงจากส่วนบู๊ต UEFI หรือโดยใช้วิธีการเมนูบูต (f8 f12 esc) ซึ่งจะเปิดเมนูบูท UEFI ขึ้นมา ไม่มี bootloaders อื่น ๆ ไม่มีระบบปฏิบัติการอื่นไม่มีพาร์ติชั่นสำรองไม่มีพาร์ติชั่นการกู้คืนไม่มีอะไรพิเศษเกินกว่า …

2
สคริปต์ที่ดำเนินการระยะไกล Powershell ไม่เริ่ม disk2vhd
ฉันสร้างสคริปต์เพื่อสำรองข้อมูล VMs บน CSV ซึ่งใช้งานได้ดียกเว้นว่าฉันไม่สามารถเรียกใช้ disk2vhd.exe สคริปต์ทำงานจากเซิร์ฟเวอร์ที่ติดตั้ง windows 2008 เนื่องจาก VMs จำนวนมากของเราใช้ Windows 2003 (โดยไม่มี PS) ฉันจึงต้องทำทุกอย่างให้ยุ่งยาก สิ่งแรกที่ฉันพยายามคือสร้างไฟล์แบตช์และเรียกใช้งานด้วย WMI ไฟล์แบตช์จะถูกดำเนินการแน่นอน แต่อย่างใด disk2vhd ไม่ได้เริ่ม โดยวิธีการคำสั่งที่ฉันใช้เพื่อเริ่ม disk2vhd ทำงานได้อย่างสมบูรณ์เมื่อฉันคัดลอกลงในคอนโซล cmd บน VM โดยตรง ฉันก็ลองใช้ psexec และผ่านคำสั่งนี้เท่านั้น (คำสั่ง cmd / c $) ไม่มีอะไรอีกแล้ว นี่อาจเป็นปัญหากับ UAC หรือการอนุญาตหรือไม่

1
เมื่อแอปพลิเคชันช้าที่จะเปิดใช้งานกระบวนการที่ลงทะเบียนนั้นทำงานเร็วเพียงใด
ฉันกำลังดูปัญหากับ java webstart แอปคีออสก์ ของเรา ฉันได้รับตั๋วสนับสนุนเป็นครั้งคราวโดยบอกว่าพบแอปหลายอินสแตนซ์ที่ทำงานพร้อมกันในพีซีเครื่องเดียว สิ่งนี้ทำให้เกิดปัญหากับแอพที่เชื่อมต่อกับฐานข้อมูลเอกพจน์ดาร์บี้ในเครื่องกับพีซีคีออสก์แต่ละเครื่อง ปัญหาคือประปรายและผิดปกติ ตอนนี้ฉันได้พบว่าบางครั้งที่คีออสก์พีซีจะเรียกใช้การสแกนไวรัสในช่วงเวลาที่กระบวนการสแกนเนอร์พลิกฝาและ CPU สูงสุด หากสิ่งนี้เกิดขึ้นการบูทแอพจากเดสก์ท็อปอาจใช้เวลานานถึง 5 นาทีในที่สุดคอมพิวเตอร์ที่ไม่ดีก็มีพื้นที่หายใจเพียงพอในการเปิดโปรแกรมใหม่ ฉันสงสัยว่าลูกค้าของเราให้การสนับสนุนผู้คนหลังจากจัดการกับปัญหาบางอย่างหรือสิ่งอื่น ๆ บนพีซีใดก็ตามที่จะเปิดแอปอีกครั้งได้รับความผิดหวังว่าไม่ได้เปิดตัวแล้วเปิดอินสแตนซ์อีกสองสามครั้ง ฉันตั้งใจจะเพิ่มบางสิ่ง อย่างนี้ สคริปต์เรียกใช้ด้วยตนเองเพื่อตรวจสอบว่าแอปนั้นกำลังทำงานอยู่หรือไม่ แต่ถ้าพีซีสำลักออกมาฉันไม่รู้ว่าจะตรวจจับกระบวนการหรือไม่ ในสถานการณ์ข้างต้นที่โปรแกรมช้าที่จะเปิดตัวกระบวนการของมันจะถูกตรวจจับได้ทันทีหรือไม่จนกระทั่งภายหลังเมื่อเปิดหน้าต่างหรืออะไรก็ตาม? ฉันสามารถเขียนโปรแกรมที่มีเธรดไม่กี่เธรดที่ใช้วิธีการไม่ว่างซึ่งจะทำให้ซีพียูสูงสุด - สิ่งนั้นจะเป็นการจำลองที่แม่นยำสำหรับการทดสอบหรือฉันจะต้องใช้มือจับไฟล์อย่างต่อเนื่องหรืออย่างอื่นด้วยหรือไม่?

2
บน windows: วิธีรับวันที่แก้ไขล่าสุด (เวลา UTC) ของไฟล์ที่มี wmic
ฉันเขียนแบตช์ต่อไปนี้เพื่อรับวันที่แก้ไขล่าสุด ปัญหาคือมันให้ในเวลานาฬิกาและไม่ได้อยู่ในเวลา UTC ฉันรู้ว่าฉันมีความล่าช้าในไม่กี่นาที แต่มันก็ไม่ง่ายเลยที่จะเปลี่ยนตัวเลขด้วยแบตช์ไฟล์ มีธงให้ wmic เพื่อรับเวลา UTC หรือไม่ นี่คือไฟล์แบตช์ @echo off setlocal enableextensions disabledelayedexpansion set file=%1 set WORKINGdir=%~dp0 rem wmic wants double backslash set PATHfile=%WORKINGdir%%file% set PATHfile=%PATHfile:\=\\% for /f %%a in ( 'wmic DataFile where "Name='%PATHfile%'" get lastmodified ^| find "+" ' ) do set "val=%%a" echo %val% …
1 windows-7  batch  wmic 

1
กำหนดค่าใหม่แล้วลบ pagefile.sys ที่ล้าสมัยจาก C: ในคราวเดียวโดยใช้ชุดสคริปต์
ฉันกำลังพยายามตั้งค่าสคริปต์อัตโนมัติสำหรับโปรแกรมติดตั้ง Windows XP เป็นชุดสคริปต์ที่ทำงานในการบูตครั้งแรกหลังจากการติดตั้งและในสิ่งที่ฉันพยายามที่จะประสบความสำเร็จคือการลบ pagefile จาก C: ทั้งหมดและวาง 16,778 MB pagefile บน D: แทน นี่คือคำแนะนำไฟล์แบทช์ของฉัน: echo === Creating new page file on D: ... cscript %windir%\system32\pagefileconfig.vbs /create /i 16 /m 768 /vo d: >nul echo. echo === Removing old page file from C: ... cscript %windir%\system32\pagefileconfig.vbs /delete /vo C: attrib …

1
เริ่มและหยุดหลายโปรแกรม
ฉันต้องการเริ่ม Spotify Toastify และ EZblocker ในทันทีและออกจากพวกเขาหากพวกเขากำลังทำงานในครั้งเดียว การเริ่มต้นใช้งานนั้นง่ายเพียงแค่คำสั่งเริ่มต้นหยุดไม่ได้ฉันเห็นคำตอบมากมายเกี่ยวกับ SO แต่ฉันไม่รู้ชุดงานและฉันไม่รู้ว่าจะทำอย่างไรถ้าอื่นมันควรจะง่าย แต่ฉันไม่เคยเรียนรู้ ชุด บวกฉันสงสัยว่า autohotkey จะเป็นทางออกที่ดีกว่า ฉันอยู่บน windows 10 โปรดทราบว่า Toastify สามารถเริ่มและหยุด Spotify ได้ดังนั้นฉันต้องเริ่มและหยุด EZblocker และ Toastify

0
การต่อท้ายชื่อไฟล์และเส้นทางในไฟล์ Batch
ฉันมีปัญหาในการเรียนรู้วิธีใช้บรรทัดคำสั่งและการใช้ไฟล์แบตช์ สิ่งที่ฉันต้องการจะทำคือเขียนเส้นทางที่กำหนดเองแล้วเพิ่มชื่อไฟล์เพื่อให้สามารถบันทึกผลลัพธ์ได้ นี่คือสิ่งที่ฉันมี @echo none REM Optimizing JPEG with jpegtran forfiles /p %1 /s /m "*.jpg" /c "cmd /c echo processing @path && c:\users\myname\desktop\jpegtran.exe -optimize -progressive -copy none -outfile "c:\users\desktop\output\"@filename @path" pause ค่อนข้างมากฉันแค่อยากให้สิ่งต่อไปนี้เกิดขึ้น -outfile "c:\users\desktop\output\"@file -outfile "c:\users\desktop\output\filename.jpg" ไม่แน่ใจว่าฉันจะทำสิ่งนี้อย่างไร

2
ฉันสามารถส่งขึ้นบรรทัดใหม่ในพารามิเตอร์บรรทัดคำสั่งไปยังไฟล์ปฏิบัติการ Windows ในไฟล์แบตช์ได้หรือไม่?
บอกว่าฉันมีไฟล์เรียกทำงานที่ฉันต้องการส่งผ่านพารามิเตอร์จาก .bat ไฟล์. การดักจับคือค่าพารามิเตอร์ต้องมี newline ในนั้น. เมื่อฉันลองทำสิ่งต่อไปนี้: "c:\folder\my app.exe" parameter="line1\nline2" ผลลัพธ์ไม่ได้รับการตีความว่ามีบรรทัดใหม่ระหว่าง line1 และ line2. ความคิดใดที่จะทำอย่างไร

1
ฉันจะเปิดไฟล์ด้วยโปรแกรมผ่านทางลัดจากพรอมต์คำสั่งได้อย่างไร
นี่คือสถานการณ์ของฉัน: เมื่อฉันเพิ่มตำแหน่งของโปรแกรมใน PATH ของฉันฉันสามารถทำสิ่งต่อไปนี้ใน cmd prompt เพื่อเปิดไฟล์ในไดเรกทอรีปัจจุบันของฉัน: notepad++ open_me.txt และนี่จะเปิด open_me.txt ใน notepad ++ อย่างไรก็ตามฉันไม่ต้องการที่จะเพิ่มทุกโปรแกรมที่ฉันต้องการเรียกใช้เส้นทางของฉัน สิ่งที่ฉันต้องการคือการเพิ่มโฟลเดอร์ชื่อ C: \ Users \ Me \ Documents \ Programs ไปยังเส้นทางของฉันและเพียงแค่วางทางลัดไปยังโปรแกรมต่าง ๆ ลงในโฟลเดอร์นั้นและให้พวกเขาทำหน้าที่เหมือนกับเพิ่มไปยังเส้นทางของฉัน ดังนั้นฉันจึงทิ้งลิงค์ไปยัง notepad ++. exe ชื่อ "np" ในโฟลเดอร์ของฉันและสิ่งที่ฉันได้รับคือ: ฉันต้องเรียกใช้ด้วย start np (แทนที่จะเป็นแค่ np) แต่ที่สำคัญกว่านั้นถ้าฉันลอง start np open_me.txtมันจะเปิด notepad ++. exe แต่มองหา open_me.txt ในไดเรกทอรีของ …

1
วิธีการหลีกเลี่ยงการเข้าร่วมข้าม?
ฉันต้องการอัปเดต / แทนที่ข้อมูลตารางโดยใช้ไฟล์แบตช์ และฉันเก็บ old_data ไว้ในไฟล์ old.txt และ new_data ในไฟล์ new.txt old.txt: 101 India new.txt: 1001 0891 และนี่คือแบทช์สคริปต์ของฉัน: demo.bat @echo off for /f "tokens=1* delims= " %%a in (old.txt) do ( for /f "tokens=1* delims= " %%b in (new.txt) do ( mysql -u root -p tiger -host localhost -database empsrc …

0
แบนเนอร์ชุดสีเท่านั้น
ฉันต้องการแบนเนอร์ที่ฉันโทรเป็นสีแดงเสมอและอีกอันคือข้อความสีขาว ฉันจะทำอย่างไร ขอบคุณ. :BANNER CLS echo ___ _ _____ echo / _ \/ \/ / _ \ echo / ___/ / _/ echo /_/ /_/\_/_/\_\ echo ----------------------------------------------- EXIT /B 0
1 batch  colors  echo 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.