42 HANDLE hFileSrc, hFileDest;
43 DWORD dwAttrib, dwRead, dwWritten;
46 FILETIME srcCreationTime, destCreationTime, srcLastAccessTime, destLastAccessTime;
47 FILETIME srcLastWriteTime, destLastWriteTime;
69 GetFileTime (hFileSrc, &srcCreationTime, &srcLastAccessTime, &srcLastWriteTime);
102 GetFileTime (hFileDest, &destCreationTime, &destLastAccessTime, &destLastWriteTime);
169 SetFileTime (hFileDest, &srcCreationTime, &srcLastAccessTime, &srcLastWriteTime);
224 for(
i = (
_tcslen(szSrcPath) - 1);
i > -1;
i--)
226 if (szSrcPath[
i] !=
_T(
'\\'))
227 szSrcPath[
i] =
_T(
'\0');
236 return filesReplaced;
240 return filesReplaced;
243 if (!
_tcscmp (findBuffer.cFileName,
_T(
".")) ||
244 !
_tcscmp (findBuffer.cFileName,
_T(
".."))||
249 _tcscpy(tmpDestPath,szDestPath);
250 _tcscat (tmpDestPath, findBuffer.cFileName);
280 _tcscat (tmpSrcPath, findBuffer.cFileName);
299 return filesReplaced;
311 INT filesReplaced = 0;
324 for(
i = (
_tcslen(szDestPath) - 1);
i > -1;
i--)
326 if (szDestPath[
i] !=
_T(
'\\'))
327 szDestPath[
i] =
_T(
'\0');
341 return filesReplaced;
348 if (!
_tcscmp (findBuffer.cFileName,
_T(
".")) ||
349 !
_tcscmp (findBuffer.cFileName,
_T(
".."))||
353 _tcscpy(tmpDestPath,szDestPath);
354 _tcscat (tmpDestPath, findBuffer.cFileName);
359 if (szDestPath[
_tcslen(tmpDestPath) - 1] !=
_T(
'\\'))
377 return filesReplaced;
383 INT i, filesReplaced = 0, nFiles, srcIndex = -1, destIndex = -1;
447 else if (destIndex == -1)
478 if (
_tcslen(
arg[destIndex]) == 2 &&
arg[destIndex][1] ==
':')
507 if (!(
_tcslen(
arg[srcIndex]) == 2 &&
arg[srcIndex][1] ==
':'))
539 if (szDestPath[
_tcslen(szDestPath) - 1] !=
_T(
'\\'))
553 if (filesReplaced != -1)
556 if (filesReplaced==0)
#define ConInitStdStreams()
#define STRING_ERROR_OUT_OF_MEMORY
#define STRING_REPLACE_HELP1
#define STRING_REPLACE_HELP7
#define STRING_REPLACE_HELP11
#define STRING_REPLACE_HELP3
#define STRING_REPLACE_HELP4
#define STRING_REPLACE_ERROR7
#define STRING_COPY_ERROR1
#define STRING_REPLACE_HELP5
#define STRING_REPLACE_HELP9
#define STRING_REPLACE_HELP2
#define STRING_REPLACE_ERROR4
#define STRING_REPLACE_HELP10
#define STRING_REPLACE_ERROR5
#define STRING_COPY_ERROR3
#define STRING_REPLACE_ERROR6
#define STRING_REPLACE_ERROR1
#define STRING_REPLACE_ERROR2
#define STRING_REPLACE_HELP8
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
#define FILE_ATTRIBUTE_NORMAL
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, BOOL Add)
BOOL WINAPI SetFileTime(IN HANDLE hFile, CONST FILETIME *lpCreationTime OPTIONAL, CONST FILETIME *lpLastAccessTime OPTIONAL, CONST FILETIME *lpLastWriteTime OPTIONAL)
BOOL WINAPI GetFileTime(IN HANDLE hFile, OUT LPFILETIME lpCreationTime OPTIONAL, OUT LPFILETIME lpLastAccessTime OPTIONAL, OUT LPFILETIME lpLastWriteTime OPTIONAL)
BOOL WINAPI FindClose(HANDLE hFindFile)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define FILE_ATTRIBUTE_READONLY
#define FILE_ATTRIBUTE_DIRECTORY
INT cmd_replace(INT argc, WCHAR **argv)
void invalid_switch(LPTSTR is)
INT recReplace(DWORD dwFlags, TCHAR szSrcPath[MAX_PATH], TCHAR szDestPath[MAX_PATH], BOOL *doMore)
void getPath(TCHAR *out, LPTSTR in)
INT recFindSubDirs(DWORD dwFlags, TCHAR szSrcPath[MAX_PATH], TCHAR szDestPath[MAX_PATH], BOOL *doMore)
static BOOL CALLBACK CtrlHandlerRoutine(DWORD dwCtrlType)
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
BOOL IsExistingDirectory(IN LPCTSTR pszPath)
BOOL IsExistingFile(IN LPCTSTR pszPath)
INT GetRootPath(IN LPCTSTR InPath, OUT LPTSTR OutPath, IN INT size)
#define ConOutResPrintf(uID,...)
#define ConOutFormatMessage(MessageId,...)
#define ConOutResPuts(uID)
INT FilePromptYNA(UINT resID)
VOID GetPathCase(TCHAR *Path, TCHAR *OutPath)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
LPVOID NTAPI VirtualAlloc(IN LPVOID lpAddress, IN SIZE_T dwSize, IN DWORD flAllocationType, IN DWORD flProtect)
BOOL NTAPI VirtualFree(IN LPVOID lpAddress, IN SIZE_T dwSize, IN DWORD dwFreeType)
DWORD WINAPI GetLastError(void)
#define GetFileAttributes
#define SetFileAttributes
#define GetCurrentDirectory
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags