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

ไฟล์แบตช์เป็นชื่อที่กำหนดให้กับไฟล์สคริปต์ประเภทหนึ่งซึ่งเป็นไฟล์ข้อความที่มีชุดคำสั่งที่จะดำเนินการโดยตัวแปลคำสั่งภายใต้ MS-DOS และ Microsoft Windows


7
พรอมต์คำสั่งของ Windows: ฉันจะรับเอาต์พุตของคำสั่งลงในตัวแปรสภาพแวดล้อมได้อย่างไร
ฉันต้องการตัวแปรสภาพแวดล้อมที่มีวันในสัปดาห์ใน cmd.exe เมื่อฉันเรียกใช้คำสั่งนี้ฉันได้รับผลลัพธ์ที่ต้องการ C:\Users\tisc> powershell (get-date).dayofweek Friday ที่นี่ฉันพยายามเก็บผลลัพธ์ไว้ในตัวแปรสภาพแวดล้อม C:\Users\tisc> set dow = powershell (get-date).dayofweek แต่เมื่อฉันพยายามที่จะรับมันฉันไม่ได้รับสายตามที่ฉันต้องการ C:\Users\tisc> set dow DoW=0 dow = powershell (get-date).dayofweek เป้าหมายของฉันคือใช้ตัวแปรในไฟล์แบตช์สำหรับสคริปต์สำรองบางตัว

4
รับไดเรกทอรีที่มีสคริปต์ชุดงานที่ดำเนินการอยู่ในปัจจุบัน
ฉันใช้%0ในไฟล์ batch เพื่อรับไดเรกทอรีที่มีไฟล์ batch แต่ผลลัพธ์คือ: - c:\folder1\folder2\batch.bat ฉันต้องการเพียงไดเรกทอรีโดยไม่มีชื่อไฟล์แบทช์เช่นนี้: - c:\folder1\folder2\ ฉันจะทำมันได้อย่างไร บางทีฉันควรกรองเส้นทาง ถ้าใช่ฉันจะทำอย่างไร

13
ต้องการศูนย์นำหน้าสำหรับสคริปต์ชุดงานโดยใช้ตัวแปร% time%
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันพบข้อผิดพลาดในสคริปต์ DOS ที่ใช้ข้อมูลวันที่และเวลาในการตั้งชื่อไฟล์ ปัญหาคือฉันลงเอยด้วยช่องว่างเพราะตัวแปรเวลาไม่ได้ให้ศูนย์นำหน้าโดยอัตโนมัติสำหรับชั่วโมง <10 ดังนั้นการเรียกใช้> echo% เวลา% ให้ผลตอบแทน: '9: 29: 17.88' ไม่มีใครรู้วิธีที่จะเป็นศูนย์นำหน้าเพื่อแก้ไขปัญหานี้แบบมีเงื่อนไข? ข้อมูลเพิ่มเติม: คำสั่งชื่อไฟล์ของฉันคือ: set logfile=C:\Temp\robolog_%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.log ซึ่งจบลงด้วยการเป็น: C: \ Temp \ robolog_20100602_ 93208.log (สำหรับ 9:23 ในตอนเช้า) คำถามนี้เป็นคำถามที่เกี่ยวข้องกับคนนี้ ขอบคุณ

3
สำหรับการนับวนจาก 1 ถึง n ในสคริปต์ค้างคาวของ windows
ฉันต้องการเรียกใช้คำสั่ง windows n ครั้งภายในไฟล์สคริปต์ค้างคาว ฉันรู้วิธีการทำเช่นนี้ในภาษาการเขียนโปรแกรมต่าง ๆ แต่ไม่สามารถจัดการเพื่อทำให้ถูกต้องบนบรรทัดคำสั่ง windows :-( ฉันคาดหวังบางอย่างเช่น for(int i = 0; i < 100; i++) { // do something } หรือแม้กระทั่งสิ่งนี้ (แม้ว่าจะไม่ทั้งหมดอย่างจริงจัง) 1.upto(100, { // do something }) ขอบคุณ! แก้ไข ฉันสามารถเขียนโปรแกรมใน java, perl, c หรืออะไรก็ตามที่จะสร้างค้างคาวสคริปต์ที่มีลักษณะเช่นนี้ for %%N in (1 2 3 4 5 6 7 8 9 …

6
วิธีสร้างรหัสผ่านและผู้ใช้ที่ไม่มีวันหมดอายุผ่านทางผู้ใช้เน็ตผ่านไฟล์. bat
ฉันใช้ a .bat fileเพื่อสร้างผู้ใช้และรหัสผ่านที่ระดับระบบปฏิบัติการ windows ปัญหาที่กำลังเผชิญคือเมื่อฉันส่งEXPIRES:NEVERรหัสผ่านเมื่อผู้ใช้ถูกสร้างขึ้นก็ไม่มีการ"Password never expires"ทำเครื่องหมายที่ช่องทำเครื่องหมาย (หมายถึงรหัสผ่านที่ไม่เคยถูกเลือกสำหรับผู้ใช้ที่สร้างขึ้นนั้น) และผู้ใช้จะหมดอายุโดยอัตโนมัติหลังจาก 90 วัน Net User %1 %2 /COMMENT:"%3" /EXPIRES:NEVER /PASSWORDCHG:NO /ADD ด้านบนคือบรรทัดหลักของรหัสฉันส่งชื่อผู้ใช้และรหัสผ่านจากไฟล์ข้อความและเรียกใช้ไฟล์. bat
23 windows  batch 

4
ฉันจะแยกเก็บถาวรทั้งหมดในไดเรกทอรีย่อยของโฟลเดอร์นี้ได้อย่างไร
ฉันจะแยกไฟล์เก็บถาวรหลายไฟล์ที่มีอยู่ในไดเร็กทอรีย่อยในโฟลเดอร์ได้อย่างไรส่งออกผลลัพธ์กลับไปยังโฟลเดอร์ที่เก็บถาวร
18 windows  batch 

3
ไม่ทราบตำแหน่งที่ตั้ง% DATE% และ% TIME% ในไฟล์แบตช์
%DATE%และ%TIME%ตัวแปรสภาพแวดล้อมให้วันและเวลาปัจจุบันในเครื่อง Windows บนบรรทัดคำสั่งและภายในแฟ้มแบทช์ น่าเศร้าที่คุณค่าเหล่านั้นเป็นที่ตระหนักถึงสถานที่! หมายความว่าคุณจะได้รับในเครื่องเยอรมัน 26.1.2011 แทน 2011-26-01 สกรูนี้เรียงลำดับขึ้นหากคุณต้องการใช้ตัวแปรนี้ในชื่อไฟล์ มีวิธีง่ายๆในการรับYYYY-MM-DDสตริงวันที่ที่ไม่ทราบในภาษาในไฟล์แบตช์ Windows หรือไม่ ในขณะนี้ฉันกำลังทำงานกับวิธีแก้ปัญหา kludgy นี้: for /f "tokens=1,2,3,4 delims=. " %%i in ('date /t') do set date=%%k-%%j-%%i echo %date% แต่ตอนนี้เฉพาะสถานเยอรมัน - เห็นได้ชัดว่าเป็นทางออกที่เป็นอิสระอย่างสมบูรณ์จะมีมากดีกว่า ระบบปฏิบัติการที่เป็นปัญหาคือ Server 2008 ฉันไม่ต้องการใช้เครื่องมือของบุคคลที่สามหากเป็นไปได้

8
โปรแกรมทำงานไม่ถูกต้องตามภารกิจที่กำหนดไว้
สถานการณ์ ฉันมีสคริปต์แบทช์ที่เตรียมไฟล์บางไฟล์รันโปรแกรม ( .exe) แล้วลบไฟล์ที่กล่าว งานนี้ควรทำงานทุกชั่วโมงดังนั้นฉันจึงพยายามกำหนดค่านี้โดยใช้งานที่กำหนดเวลาไว้ ปัญหาคือโปรแกรมที่กล่าวถึงก่อนหน้านี้ทำงานไม่ถูกต้องเมื่อเรียกใช้จากงาน (ไม่ผ่าน.batสคริปต์หรือเมื่อโทร.exeโดยตรง) แต่ฉันไม่ได้รับคำเตือนหรือข้อความแสดงข้อผิดพลาดในบันทึก ติดตั้ง งานได้รับการกำหนดค่าให้ทำงานเป็นบัญชีบริการ Windows ที่มีการตั้งค่าสิทธิ์ทั้งหมดอย่างถูกต้อง เมื่อใช้บัญชีนี้เพื่อเข้าสู่ระบบผ่าน RDP ฉันสามารถดำเนินการ.batและ.exeโดยตรงโดยไม่มีปัญหา แต่ก็ยังมีงานที่ดูเหมือนจะไม่ทำอะไรเลย สิ่งนี้สามารถสังเกตได้ง่ายเนื่องจากโปรแกรมจะทำการปรับเปลี่ยนไฟล์เสมอและการแก้ไขในการประทับเวลาจะไม่เปลี่ยนแปลงไปตามภารกิจ ในบันทึกภารกิจที่กำหนดเวลาไว้ฉันจะได้รับข้อความข้อมูลสำหรับงานที่เริ่มต้นกระบวนการออก ฯลฯ อย่างไรก็ตาม "รหัสผลลัพธ์" คือ111(พยายามที่จะใช้ Google โดยไม่มีโชคการเชื่อมโยงเดียวที่ฉันได้รับคือ "ชื่อไฟล์ยาวเกินไป "ซึ่งเป็น AFAIK ที่ไม่เกี่ยวข้องอย่างสมบูรณ์) ในบันทึกของแอปพลิเคชันฉันไม่ได้รับสิ่งใดเลย สิ่งที่ฉันสงสัยว่าเป็นปัญหา โปรแกรมนี้เป็นสิ่งที่น่ารังเกียจอย่างยิ่งที่วางไข่หน้าจอสแปลบางส่วน (จริงๆแล้วมันเป็นหน้าต่างปกติ) แม้ว่าจะไม่จำเป็นต้องใช้ GUI เพราะมันไม่ต้องการการโต้ตอบและปิดตัวเองหลังจากการทำงาน หน้าต่างจะปรากฏขึ้นประมาณ 2 วินาที ฉันสงสัยว่าข้อกำหนดนี้สำหรับ GUI มีส่วนเกี่ยวข้องกับงานที่ล้มเหลว แต่ฉันไม่แน่ใจ เมื่อฉันเข้าสู่ระบบด้วยผู้ใช้ที่งานภายใต้ (ผ่าน RDP) ไม่มีหน้าต่างปรากฏขึ้นเมื่อฉันเริ่มงานที่กำหนด แก้ไขเกี่ยวกับ GUI ฉันได้สร้างโปรแกรมปฏิบัติการ …

8
หมดอายุไฟล์ในโฟลเดอร์: ลบไฟล์หลังจาก x วัน
ฉันต้องการสร้าง "วางโฟลเดอร์" ในไดรฟ์ที่ใช้ร่วมกันกับ windows ซึ่งทุกคนสามารถเข้าถึงได้ ฉันต้องการลบไฟล์โดยอัตโนมัติหากไฟล์นั้นอยู่ในโฟลเดอร์นานกว่า X วัน อย่างไรก็ตามดูเหมือนว่าวิธีการทั้งหมดที่ฉันทำพบใช้วันที่แก้ไขล่าสุดเวลาเข้าถึงล่าสุดหรือวันที่สร้างไฟล์ ฉันกำลังพยายามทำให้โฟลเดอร์นี้เป็นโฟลเดอร์ที่ผู้ใช้สามารถวางไฟล์เพื่อแชร์กับใครบางคน หากมีคนคัดลอกหรือย้ายไฟล์มาที่นี่ฉันต้องการให้นาฬิกาเริ่มติ๊ก ณ จุดนี้ อย่างไรก็ตามวันที่แก้ไขล่าสุดและวันที่สร้างไฟล์จะไม่ได้รับการอัปเดตเว้นแต่จะมีคนแก้ไขไฟล์จริง เวลาเข้าถึงล่าสุดถูกอัพเดตบ่อยเกินไป ... ดูเหมือนว่าเพียงแค่เปิดไดเรกทอรีใน windows explorer จะอัปเดตเวลาเข้าถึงล่าสุด ใครรู้วิธีแก้ปัญหานี้? ฉันคิดว่าการทำรายการแฮชของไฟล์ทุกวันแล้วการหมดอายุไฟล์ตามแฮชที่เก่ากว่าวันที่กำหนดอาจเป็นทางออก .... แต่การแฮชไฟล์อาจใช้เวลานาน ความคิดใด ๆ ที่จะได้รับการชื่นชมอย่างมาก! หมายเหตุ: ฉันได้ดูคำตอบมากมายแล้วที่นี่ ... ดูใน File Server Resource Monitor, สคริปต์ PowerShell, สคริปต์แบทช์และอื่น ๆ พวกเขายังคงใช้เวลาเข้าถึงล่าสุดเวลาแก้ไขล่าสุดหรือเวลาสร้าง ... ซึ่งตามที่อธิบายไว้ไม่ตรงกับความต้องการข้างต้น

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