2013-08-01 9 views
11

मेरे पास फ़ाइल को एक संग्रह फ़ोल्डर में कॉपी करने के लिए निम्न नेटवर्क पथ है। यह File 1Folder से Archive पर प्रतिलिपि बनाता है लेकिन मैं इन 2 समायोजनों को जोड़ना चाहता हूं जो काम नहीं करेंगे।बैचफाइल बैकअप बनाने और टाइमस्टैम्प के साथ नाम बदलने के लिए

  1. File 1-1File 1 - date + time
  2. चल रहा है यह अब नकल कोड के साथ एक cmd बॉक्स प्रदर्शित करता है, यह संभव पृष्ठभूमि में चलाने के लिए या एक लोडिंग स्क्रीन प्रगति दिखाने के लिए है करने के लिए का नाम बदलें?

मेरे कोड के लिए मैंने नाम को बदलने के लिए this example का पालन किया।

copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1-1.xlsx" 
/f "tokens=1-5 delim s=/ " %%d in ("%date%") do rename "F:\Folder example 2.xlsx" "F:\Folder\File example %%e-%%f-%%g.xlsx" 

उत्तर

0

हां, इसे पृष्ठभूमि में चलाने के लिए बैच फ़ाइल में शॉर्टकट बनाएं और गुणों में जाएं। मैं एक लिनक्स मशीन एटीएम पर हूं लेकिन मेरा मानना ​​है कि आप जो विकल्प चाहते हैं वह उन्नत टैब में है।

आप भी इस तरह एक vbs स्क्रिप्ट के माध्यम से अपने बैच स्क्रिप्ट चला सकते हैं:

'HideBat.vbs 
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True 

यह पता चला कोई cmd खिड़की के साथ अपने बैच फ़ाइल निष्पादित करेंगे।

15

देखें अगर यह आप क्या करना चाहते हैं:

@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a 
set YYYY=%dt:~0,4% 
set MM=%dt:~4,2% 
set DD=%dt:~6,2% 
set HH=%dt:~8,2% 
set Min=%dt:~10,2% 
set Sec=%dt:~12,2% 

set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% 

copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1 - %stamp%.xlsx" 
+0

4.5 साल बाद और मुझे इसकी आवश्यकता थी:) .... धन्यवाद आदमी –

24

इस प्रयास करें:

ren "File 1-1" "File 1 - %date:/=-% %time::=-%" 
+0

क्या इसे किसी अतिरिक्त दस्तावेज़ीकरण की आवश्यकता है, या यह केवल इसका उपयोग करने के लिए पर्याप्त है? – CustomX

+1

ओह, इतना कठिन जीतो। विंडोज वातावरण चर जैसे '% DATE%' और '% TIME%' का उपयोग करके इसे करने का यह सबसे शानदार तरीका है।धन्यवाद! बहुत बढ़िया। – Slink

+0

लेकिन अन्य तारीख और tiime प्रारूपों से सावधान रहें। – dummzeuch

6

मैं पूरे फ़ोल्डरों और उनके सभी सामग्री की प्रतिलिपि करने के लिए Foxidrive के जवाब संशोधित कर लिया है। यह स्क्रिप्ट एक फ़ोल्डर बनायेगी और इसमें किसी अन्य फ़ोल्डर की सामग्री का बैकअप लेगा, जिसमें नीचे दिए गए सबफ़ोल्डर शामिल हैं।

यदि आप इसे एक घंटे के निर्धारित कार्य में कहते हैं तो आपको सावधान रहना होगा क्योंकि आप अपने मूल फ़ोल्डर की प्रतियों के साथ अपने ड्राइव को जल्दी से भर सकते हैं। बिटबकेट आदि से पहले मैं अपने कोड को ऑफ़लाइन सहेजने के लिए समान स्क्रिप्ट के रूप में उपयोग कर रहा था।

@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a 
set YYYY=%dt:~0,4% 
set MM=%dt:~4,2% 
set DD=%dt:~6,2% 
set HH=%dt:~8,2% 
set Min=%dt:~10,2% 
set Sec=%dt:~12,2% 

set stamp=YourPrefixHere_%YYYY%%MM%%DD%@%HH%%Min% 
rem you could for example want to create a folder in Gdrive and save backup there 
cd C:\YourGoogleDriveFolder 
mkdir %stamp% 
cd %stamp% 

xcopy C:\FolderWithDataToBackup\*.* /s 
1

वर्तमान सिस्टम दिनांक के आधार पर सभी .pdf फ़ाइलों का नाम बदलें। उदाहरण के लिए Gross Profit.pdf नाम की एक फ़ाइल का नाम बदलकर Gross Profit 2014-07-31.pdf कर दिया गया है। यदि आप कल इसे चलाते हैं, तो यह इसका नाम बदलकर Gross Profit 2014-08-01.pdf कर देगा।

आप रिपोर्ट नाम Gross Profit के साथ ? को प्रतिस्थापित कर सकते हैं, लेकिन यह केवल एक रिपोर्ट का नाम बदल देगा। ?Conduit फ़ोल्डर में सब कुछ का नाम बदलता है। ? इतने सारे कारण हैं कि कुछ .pdf के लंबे नाम हैं। यदि आप सिर्फ 12 ? एस डालते हैं, तो 13 अक्षरों में 12 वर्णों से अधिक का कोई भी नाम बंद हो जाएगा। इसे 1 ? के साथ आज़माएं, फिर इसे ? एस के साथ आज़माएं। ? लंबाई थोड़ी देर तक या लंबी रिपोर्ट रिपोर्ट के रूप में लंबे समय तक होनी चाहिए।

@ECHO OFF 
SET NETWORKSOURCE=\\flcorpfile\shared\"SHORE Reports"\2014\Conduit 
REN %NETWORKSOURCE%\*.pdf "????????????????????????????????????????????????? %date:~-4,4%-%date:~-10,2%-%date:~7,2%.pdf" 
संबंधित मुद्दे