क्या कोई मुझे बैच फ़ाइल बनाने में मदद कर सकता है? असल में, मेरा लक्ष्य बैच फ़ाइल बनाना है जो फ़ोल्डर में नवीनतम 7 .txt फ़ाइलों (दूसरे शब्दों में, नवीनतम) रखेगा और बाद में बाकी को हटा देगा। अगर फ़ोल्डर में 7 से अधिक फाइलें हैं।बैच फ़ाइल जो 7 नवीनतम फ़ाइलों को फ़ोल्डर में रखती है
समस्या जो मैं अभी कर रहा हूं वह यह तथ्य है कि बैच फ़ाइल जो मैंने बनाई है, अधिकांश फाइलों को हटा देती है क्योंकि उनकी तिथि एक या दो महीने से अधिक है। मैं हर समय नवीनतम 7 फाइलें रखना चाहता हूं इससे कोई फर्क नहीं पड़ता कि वे कितने साल के हैं।
@echo off
setlocal enableextensions
rem ********************************************************************************
rem ******************************* LOCAL VARIABLES ******************************
rem ********************************************************************************
SET TargetDirectory="C:\TEMP\test"
SET No_of_fles_to_keep=7
SET count=0
set cnt=0
rem ********************************************************************************
cd /d %TargetDirectory%
REM timeout /T 500
for %%x in (*) do set /a count+=1
for %%A in (*.bat) do set /a cnt+=1
cd /d %TargetDirectory%
REM timeout /T 500
IF %count% gtr %No_of_fles_to_keep% forfiles -p %TargetDirectory% -s -m "*.txt" -d -%No_of_fles_to_keep% -c "cmd /c del @path"
echo %count%
echo File count = %cnt%
किसी भी मदद की सराहना की है -
तो यह है कि मैं क्या है।
आप यदि आदेश की "और" भाग याद किया: ') और (डेल "%% एफ')' ... – Aacini
@Aacini - तो मैंने किया था , धन्यवाद। सभी तय – dbenham
आपको बहुत बहुत धन्यवाद !!मैंने अभी इसका परीक्षण किया और यह मैजिक की तरह काम किया। – Knowledge42