Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.
#!/bin/bashdesktop="/cygdrive/c/Documents and Settings/carson/Desktop"if [ -e $desktop/`date --date=yesterday +%Y%m%d` ]; then rm -r $desktop/`date --date=yesterday +%Y%m%d` mkdir $desktop/`date +%Y%m%d`else mkdir $desktop/`date +%Y%m%d`fi
@echo offcd %USERPROFILE%\Desktopmkdir "%DATE%"
@echo offcd %USERPROFILE%\Desktopecho The current date is: %DATE%echo Creating Today's Folderset today=%DATE:~0,3%mkdir "%today%"if '%today%'=='Mon' rmdir Sun /S /Qif '%today%'=='Tue' rmdir Mon /S /Qif '%today%'=='Wed' rmdir Tue /S /Qif '%today%'=='Thu' rmdir Wed /S /Qif '%today%'=='Fri' rmdir Thu /S /Qif '%today%'=='Sat' rmdir Fri /S /Qif '%today%'=='Sun' rmdir Sat /S /Qpause
no i tested it on a Win XP computer it does start with a 3 letter day: this is the output of date in XP:Thu 02/26/2009
C:\>date /t26/02/2009C:\>time /t19:52
C:\>evaluate date26/02/2009C:\>evaluate date-125/02/2009C:\>evaluate date-1016/02/2009C:\>evaluate date-10018/11/2008C:\>evaluate date-36527/02/2008C:\>evaluate date-365001/03/1999C:\>evaluate date-3650023/03/1909
@echo offecho wscript.echo (date-1)>yesterday.vbsfor /f "delims==" %%D in ('cscript //nologo yesterday.vbs') do set yesterdate=%%Ddel yesterday.vbsecho Yesterday's date was %yesterdate%
C:>yester.batYesterday's date was 25/02/2009
desktop="/cygdrive/c/Documents\ and\ Settings/carson/Desktop"
this ought to do the trick:Code: [Select]@echo offcd %USERPROFILE%\Desktopecho The current date is: %DATE%echo Creating Today's Folderset today=%DATE:~0,3%mkdir "%today%"if '%today%'=='Mon' rmdir Sun /S /Qif '%today%'=='Tue' rmdir Mon /S /Qif '%today%'=='Wed' rmdir Tue /S /Qif '%today%'=='Thu' rmdir Wed /S /Qif '%today%'=='Fri' rmdir Thu /S /Qif '%today%'=='Sat' rmdir Fri /S /Qif '%today%'=='Sun' rmdir Sat /S /Qpause
In the course of my work, I (amongst other things) delete a directory with yesterday's date if it exists and create a directory with today's date. I'm looking for a way to automate this (and, eventually, other things, but this is the starting point)
@echo offclsset today=%date:~-4%%date:~4,2%%date:~7,2%echo wscript.echo (date-1)>yesterday.vbsfor /f "delims==" %%D in ('cscript //nologo yesterday.vbs') do ( set yesterdate=%%D)set yesterdate=%yesterdate:~-4%%yesterdate:~4,2%%yesterdate:~7,2%del yesterday.vbsecho Todays date is %today%echo Yesterday's date was %yesterdate%If exist %userprofile%\desktop\%yesterdate% rd %userprofile\desktop\%yesterdate% /S /Q:: md %userprofile%\desktop\%today%
Or, I think you could use your cygwin to doCode: [Select]desktop="/cygdrive/c/Documents\ and\ Settings/carson/Desktop"
I think we need the OP to tell us1. His system's date format
2. Exactly how the folders in question are named for the date (given that the / character is illegal in a file or folder name.)
That is if he or she is still around?
Code: [Select]@echo offclsset today=%date:~-4%%date:~4,2%%date:~7,2%echo wscript.echo (date-1)>yesterday.vbsfor /f "delims==" %%D in ('cscript //nologo yesterday.vbs') do ( set yesterdate=%%D)set yesterdate=%yesterdate:~-4%%yesterdate:~4,2%%yesterdate:~7,2%del yesterday.vbsecho Todays date is %today%echo Yesterday's date was %yesterdate%If exist %userprofile%\desktop\%yesterdate% rd %userprofile\desktop\%yesterdate% /S /Q:: md %userprofile%\desktop\%today%
Microsoft Windows XP [Version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.C:\>cd c:\documents and settings\carson\desktopC:\Documents and Settings\carson\Desktop>dailysetupToday's date is 20090227Yesterday's date was 2009/209C:\Documents and Settings\carson\Desktop>
Todays date is 20090228Yesterday's date was 20090227C:\>
set yesterdate=%yesterdate:~-4%%yesterdate:~4,2%%yesterdate:~7,2%
Peculiar, what I get is QuoteTodays date is 20090228Yesterday's date was 20090227C:\>Please check that the format of the Set %yesterdate% command in your saved version is:Quoteset yesterdate=%yesterdate:~-4%%yesterdate:~4,2%%yesterdate:~7,2%
Also please confirm that the output of your %date% is "day mm/dd/yyyy"