13#ifdef INCLUDE_CMD_REPLACE
51 HANDLE hFileSrc, hFileDest;
52 DWORD dwAttrib, dwRead, dwWritten;
55 FILETIME srcCreationTime, destCreationTime, srcLastAccessTime, destLastAccessTime;
56 FILETIME srcLastWriteTime, destLastWriteTime;
78 GetFileTime (hFileSrc, &srcCreationTime, &srcLastAccessTime, &srcLastWriteTime);
111 GetFileTime (hFileDest, &destCreationTime, &destLastAccessTime, &destLastWriteTime);
178 SetFileTime (hFileDest, &srcCreationTime, &srcLastAccessTime, &srcLastWriteTime);
234 for(
i = (
_tcslen(szSrcPath) - 1);
i > -1;
i--)
236 if (szSrcPath[
i] !=
_T(
'\\'))
237 szSrcPath[
i] =
_T(
'\0');
247 return filesReplaced;
252 return filesReplaced;
255 if (!
_tcscmp (findBuffer.cFileName,
_T(
".")) ||
256 !
_tcscmp (findBuffer.cFileName,
_T(
".."))||
261 _tcscpy(tmpDestPath,szDestPath);
262 _tcscat (tmpDestPath, findBuffer.cFileName);
292 _tcscat (tmpSrcPath, findBuffer.cFileName);
311 return filesReplaced;
323 INT filesReplaced = 0;
336 for(
i = (
_tcslen(szDestPath) - 1);
i > -1;
i--)
338 if (szDestPath[
i] !=
_T(
'\\'))
339 szDestPath[
i] =
_T(
'\0');
353 return filesReplaced;
360 if (!
_tcscmp (findBuffer.cFileName,
_T(
".")) ||
361 !
_tcscmp (findBuffer.cFileName,
_T(
".."))||
365 _tcscpy(tmpDestPath,szDestPath);
366 _tcscat (tmpDestPath, findBuffer.cFileName);
371 if (szDestPath[
_tcslen(tmpDestPath) - 1] !=
_T(
'\\'))
389 return filesReplaced;
395 INT argc,
i,filesReplaced = 0, nFiles, srcIndex = -1, destIndex = -1;
458 else if (destIndex == -1)
491 if (
_tcslen(
arg[destIndex]) == 2 &&
arg[destIndex][1] ==
':')
522 if (!(
_tcslen(
arg[srcIndex]) == 2 &&
arg[srcIndex][1] ==
':'))
555 if (szDestPath[
_tcslen(szDestPath) - 1] !=
_T(
'\\'))
569 if (filesReplaced != -1)
572 if (filesReplaced==0)
BOOL IsExistingDirectory(IN LPCTSTR pszPath)
BOOL IsExistingFile(IN LPCTSTR pszPath)
INT GetRootPath(IN LPCTSTR InPath, OUT LPTSTR OutPath, IN INT size)
VOID GetPathCase(TCHAR *, TCHAR *)
VOID ConOutResPaging(BOOL StartPaging, UINT resID)
#define ConOutResPrintf(uID,...)
#define ConOutFormatMessage(MessageId,...)
#define ConOutResPuts(uID)
#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
static VOID freep(LPSTR *p)
static LPSTR * split(LPSTR s, LPINT args)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
#define FILE_ATTRIBUTE_NORMAL
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
void invalid_switch(LPTSTR is)
INT recReplace(DWORD dwFlags, TCHAR szSrcPath[MAX_PATH], TCHAR szDestPath[MAX_PATH], BOOL *doMore)
INT cmd_replace(LPTSTR param)
void getPath(TCHAR *out, LPTSTR in)
INT recFindSubDirs(DWORD dwFlags, TCHAR szSrcPath[MAX_PATH], TCHAR szDestPath[MAX_PATH], BOOL *doMore)
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
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