मेरे पास संपत्ति वाले कई फ़ोल्डर हैं (प्रत्येक फ़ोल्डर में इन संपत्ति वाले सबफ़ोल्डर हैं। एमपी 3, .txt, .png, आदि)। मैं सबफ़ोल्डर के साथ एक ही स्थान / फ़ोल्डर में इन सभी संपत्तियों को कॉपी करना चाहता हूं। मैं एक फ़ोल्डर से दूसरे फ़ोल्डर में सबफ़ोल्डर्स के साथ संपत्ति की प्रतिलिपि प्राप्त करने के लिए सफलतापूर्वक एक रोबोकॉपी कमांड चलाने में सक्षम था:
robocopy source target /s
मैं परिसंपत्तियों की नकल करने के लिए प्रतिदिन एक बार एक अनुसूचक चलाऊंगा। इसके अलावा, मैं एक लॉग फ़ाइल में सभी प्रतिलिपि की गई संपत्ति का नाम संग्रहीत करना चाहता था। लॉग फ़ाइल का नाम के रूप में होना चाहिए
log_currentDate.txt
उदाहरण के लिए अगर आज की तारीख 20 अक्टूबर 2015 है ... लॉग फाइल का नाम इस प्रकार होना चाहिए:
log_20151020.txt
अगले दिन यानी 21 अक्टूबर 2015, यह होना चाहिए:
log_20151021.txt
इस लॉग फ़ाइल में 20 अक्टूबर 2015, 21 अक्टूबर 2015 और इसी तरह सभी कॉपी की गई संपत्तियों का नाम होना चाहिए। मैंने एक लॉग बनाने के लिए एक बैच कमांड (@DavidPostill के लिए धन्यवाद) बनाया:
@echo off
for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (
set _date=%%a%%b%%c
)
echo robocopy source target /log:D:\ABC\log%_date%.txt
यह "logTue2010.txt" (यानी logdayddmm प्रारूप) नाम के साथ एक लॉग बनाता है। मुसीबत:
- यह लॉग फ़ाइल कहाँ संग्रहीत होती है? इस लॉग फ़ाइल को दिखाई देने के लिए, मुझे हर रोज एक अलग कमांड लिखनी होगी:
robocopy source target /log:D:\ABC\logWed1021.txt / tee / s
- मैं यह कैसे सुनिश्चित कर सकता हूं कि प्रत्येक दिन लॉग की एक अलग प्रति प्राप्त की जाए?
- वर्तमान कमांड के साथ, लॉग फ़ाइल में cmd विंडो पर प्रदर्शित संपूर्ण आउटपुट है। मैं बस यह चाहता हूं कि इसके विस्तार के साथ परिसंपत्ति का नाम शामिल हो।
EDIT 1: निम्न बैच कमांड के साथ, मैं फ़ाइल नाम प्रारूप से संबंधित समस्या को हल करने में सक्षम था:
@ECHO OFF
for /f %%a in ('wmic os get LocalDateTime ^| findstr ^[0-9]') do (set ts=%%a)
ECHO %ts:~0,8%_%ts:~8,4%
echo robocopy ship shore /log:D:\HAL\log\log_%ts:~0,8%_%ts:~8,4%.txt
robocopy Ship Shore /log:D:\HAL\log\log_%ts:~0,8%_%ts:~8,4%.txt /S
इस बैच कमांड ने भी काम किया:
@echo off
for /f "tokens=2 delims==" %%G in ('wmic OS get LocalDateTime /value') do set "_date=%%G"
set "_date=%_date:~0,8%"
echo robocopy ship shore /log:D:\HAL\log\log_%_date%.txt
robocopy ship shore /log:D:\HAL\log\log_%_date%.txt /S
हालाँकि यहाँ पूछे गए अन्य प्रश्न अभी भी अनुत्तरित हैं।