Revision: 58249
Updated Code
at July 4, 2012 06:39 by _reydin_
Updated Code
@echo off
TITLE Add Date
set RENAMED="%userprofile%\Desktop\Output_Renamed"
echo This batch file will copy all the files from a directory and save them
echo to %RENAMED%. It will also add the current
echo date to the files' name.
ECHO.
ECHO.
echo For questions about this program please contact Corey.
ECHO.
ECHO.
pause
goto START
:START
cls
set Loc="%userprofile%\Desktop\Input_Renamed"
echo.
echo Your current working directory is %Loc%
set /p INPUT=Would you like to use this directory? y/n or q for quit:
echo.
REM Get, cut and set the date variable.
for /f "tokens=2-4 delims=/- " %%a in ('date /t') do set XDate=%%a%%b%%c
REM Depending on the user's answer from above do the following.
IF /i %INPUT% == y goto CURRENT
IF /i %INPUT% == n goto OTHER
IF /i %INPUT% == q goto END
IF /i %INPUT% NEQ y goto INVALID
IF /i %INPUT% NEQ n goto INVALID
IF /i %INPUT% NEQ q goto INVALID
REM Rename the files in the current working directory.
:CURRENT
IF NOT EXIST %Loc% goto NOINPUTDIR
REM Create the Renamed_Files directory on the user's desktop if it does not exist.
IF NOT EXIST %RENAMED% mkdir %RENAMED%
cd %Loc%
for /f "tokens=*" %%b in ('dir /b') do (
copy "%%b" %RENAMED%
)
ECHO.
REM 1st way of renaming. Works if there is only one period.
REM ren *.* ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????_%XDate%*.*
REM 2nd way of renaming. Put the date on the front of the filename.
REM for /f "tokens=*" %%b in ('dir /b') do (
REM ren "%%b" "%XDate%
REM 3rd way of renaming
cd %RENAMED%
for /f "tokens=*" %%b in ('dir /b') do (
ren "%%b" "%%~nb_%XDate%%%~xb"
)
dir /b
goto END
REM Rename the files in another specified directory.
:OTHER
cls
set /p DIRPATH=Enter the full path of the directory or q to quit:
IF /i %DIRPATH% == q goto END
IF /i %DIRPATH% == c: goto WINDOWS
IF /I %DIRPATH% == c:\ goto WINDOWS
IF /i %DIRPATH% == %WINDIR% goto WINDOWS
echo.
echo You entered %DIRPATH%
set /p CORPATH=Is this correct? y/n or q for quit:
ECHO.
REM Do the following depending on the user's entry.
IF /i %CORPATH% == y goto RENOTHER
IF /i %CORPATH% == n goto OTHER
IF /i %CORPATH% == q goto END
IF /i %CORPATH% NEQ y goto INVALID
IF /i %CORPATH% NEQ n goto INVALID
IF /i %CORPATH% NEQ q goto INVALID
REM This part is used to rename files that are located in another directory.
:RENOTHER
IF NOT EXIST %DIRPATH% goto NOTTHERE
IF NOT EXIST %RENAMED% mkdir %RENAMED%
cd %DIRPATH%
for /f "tokens=*" %%b in ('dir /b') do (
copy "%%b" %RENAMED%
)
ECHO.
cd %RENAMED%
for /f "tokens=*" %%b in ('dir /b') do (
ren "%%b" "%%~nb_%XDate%%%~xb"
)
echo.
dir /b
goto END
:WINDOWS
ECHO.
ECHO This is the Windows directory. Can't rename.
ECHO.
goto OTHER
:NOTTHERE
echo.
ECHO The directory could not be found!
echo.
set /p TRYAGAIN=Would you like to try again? y/n
IF /i %TRYAGAIN% == y goto OTHER
IF /i %TRYAGAIN% == n goto END
IF /i %TRYAGAIN% NEQ y goto INVALID
IF /i %TRYAGAIN% NEQ n goto INVALID
:INVALID
echo.
echo Your input was not recognized!
pause
goto END
:NOINPUTDIR
cls
ECHO I'm sorry but your Input_Renamed directory does not exist.
ECHO.
ECHO You must create Input_Renamed directory on your Desktop and copy the files you
ECHO want to rename to that directory. Otherwise, please specify a different
ECHO directory to use.
ECHO.
set /p TRYAGAIN=Would you like me to create the Input_Renamed directory? y/n or d to specify another directory:
IF /i %TRYAGAIN% == y goto INPUTDIRCREATE
IF /i %TRYAGAIN% == n goto END
IF /i %TRYAGAIN% == d goto OTHER
IF /i %TRYAGAIN% NEQ y goto INVALID
IF /i %TRYAGAIN% NEQ n goto INVALID
IF /i %TRYAGAIN% NEQ d goto INVALID
:INPUTDIRCREATE
cls
mkdir %Loc%
ECHO Input_Renamed has been created on your Desktop. Please copy the files to
ECHO that directory or specify another directory.
goto START
:END
echo.
echo.
echo Exiting the program, HAVE A NICE DAY!
echo.
pause
Revision: 58248
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 4, 2012 06:36 by _reydin_
Initial Code
@echo off
TITLE Salmons PC
set RENAMED="%userprofile%\Desktop\Output_Renamed"
echo This batch file will copy all the files from a directory and save them
echo to %RENAMED%. It will also add the current
echo date to the files' name.
ECHO.
ECHO.
echo For questions about this program please contact Corey.
ECHO.
ECHO.
pause
goto START
:START
cls
set Loc="%userprofile%\Desktop\Input_Renamed"
echo.
echo Your current working directory is %Loc%
set /p INPUT=Would you like to use this directory? y/n or q for quit:
echo.
REM Get, cut and set the date variable.
for /f "tokens=2-4 delims=/- " %%a in ('date /t') do set XDate=%%a%%b%%c
REM Depending on the user's answer from above do the following.
IF /i %INPUT% == y goto CURRENT
IF /i %INPUT% == n goto OTHER
IF /i %INPUT% == q goto END
IF /i %INPUT% NEQ y goto INVALID
IF /i %INPUT% NEQ n goto INVALID
IF /i %INPUT% NEQ q goto INVALID
REM Rename the files in the current working directory.
:CURRENT
IF NOT EXIST %Loc% goto NOINPUTDIR
REM Create the Renamed_Files directory on the user's desktop if it does not exist.
IF NOT EXIST %RENAMED% mkdir %RENAMED%
cd %Loc%
for /f "tokens=*" %%b in ('dir /b') do (
copy "%%b" %RENAMED%
)
ECHO.
REM 1st way of renaming. Works if there is only one period.
REM ren *.* ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????_%XDate%*.*
REM 2nd way of renaming. Put the date on the front of the filename.
REM for /f "tokens=*" %%b in ('dir /b') do (
REM ren "%%b" "%XDate%
REM 3rd way of renaming
cd %RENAMED%
for /f "tokens=*" %%b in ('dir /b') do (
ren "%%b" "%%~nb_%XDate%%%~xb"
)
dir /b
goto END
REM Rename the files in another specified directory.
:OTHER
cls
set /p DIRPATH=Enter the full path of the directory or q to quit:
IF /i %DIRPATH% == q goto END
IF /i %DIRPATH% == c: goto WINDOWS
IF /I %DIRPATH% == c:\ goto WINDOWS
IF /i %DIRPATH% == %WINDIR% goto WINDOWS
echo.
echo You entered %DIRPATH%
set /p CORPATH=Is this correct? y/n or q for quit:
ECHO.
REM Do the following depending on the user's entry.
IF /i %CORPATH% == y goto RENOTHER
IF /i %CORPATH% == n goto OTHER
IF /i %CORPATH% == q goto END
IF /i %CORPATH% NEQ y goto INVALID
IF /i %CORPATH% NEQ n goto INVALID
IF /i %CORPATH% NEQ q goto INVALID
REM This part is used to rename files that are located in another directory.
:RENOTHER
IF NOT EXIST %DIRPATH% goto NOTTHERE
IF NOT EXIST %RENAMED% mkdir %RENAMED%
cd %DIRPATH%
for /f "tokens=*" %%b in ('dir /b') do (
copy "%%b" %RENAMED%
)
ECHO.
cd %RENAMED%
for /f "tokens=*" %%b in ('dir /b') do (
ren "%%b" "%%~nb_%XDate%%%~xb"
)
echo.
dir /b
goto END
:WINDOWS
ECHO.
ECHO This is the Windows directory. Can't rename.
ECHO.
goto OTHER
:NOTTHERE
echo.
ECHO The directory could not be found!
echo.
set /p TRYAGAIN=Would you like to try again? y/n
IF /i %TRYAGAIN% == y goto OTHER
IF /i %TRYAGAIN% == n goto END
IF /i %TRYAGAIN% NEQ y goto INVALID
IF /i %TRYAGAIN% NEQ n goto INVALID
:INVALID
echo.
echo Your input was not recognized!
pause
goto END
:NOINPUTDIR
cls
ECHO I'm sorry but your Input_Renamed directory does not exist.
ECHO.
ECHO You must create Input_Renamed directory on your Desktop and copy the files you
ECHO want to rename to that directory. Otherwise, please specify a different
ECHO directory to use.
ECHO.
set /p TRYAGAIN=Would you like me to create the Input_Renamed directory? y/n or d to specify another directory:
IF /i %TRYAGAIN% == y goto INPUTDIRCREATE
IF /i %TRYAGAIN% == n goto END
IF /i %TRYAGAIN% == d goto OTHER
IF /i %TRYAGAIN% NEQ y goto INVALID
IF /i %TRYAGAIN% NEQ n goto INVALID
IF /i %TRYAGAIN% NEQ d goto INVALID
:INPUTDIRCREATE
cls
mkdir %Loc%
ECHO Input_Renamed has been created on your Desktop. Please copy the files to
ECHO that directory or specify another directory.
goto START
:END
echo.
echo.
echo Exiting the program, HAVE A NICE DAY!
echo.
pause
Initial URL
Initial Description
This is a batch file that will add the date to the end of all files in a particular directory located on the user's desktop and place them in a directory called Output_Renamed on the user's desktop.
Initial Title
Add a current date to a file
Initial Tags
date, file
Initial Language
DOS Batch