1 /*=============================================================================
\r
3 *
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83t
\83@
\83C
\83\8b\83A
\83N
\83Z
\83X
\r
5 ===============================================================================
\r
6 / Copyright (C) 1997-2007 Sota. All rights reserved.
\r
8 / Redistribution and use in source and binary forms, with or without
\r
9 / modification, are permitted provided that the following conditions
\r
12 / 1. Redistributions of source code must retain the above copyright
\r
13 / notice, this list of conditions and the following disclaimer.
\r
14 / 2. Redistributions in binary form must reproduce the above copyright
\r
15 / notice, this list of conditions and the following disclaimer in the
\r
16 / documentation and/or other materials provided with the distribution.
\r
18 / THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
\r
19 / IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
\r
20 / OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
\r
21 / IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
\r
22 / INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
\r
23 / BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
\r
24 / USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
\r
25 / ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
\r
26 / (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
\r
27 / THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
28 /============================================================================*/
\r
31 #include <windows.h>
\r
36 #include <windowsx.h>
\r
39 #include "resource.h"
\r
43 /*-----
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83f
\83B
\83\8c\83N
\83g
\83\8a\95Ï
\8dX -------------------------------------------
\r
46 * char *Path :
\83p
\83X
\96¼
\r
49 * int
\83X
\83e
\81[
\83^
\83X
\r
51 *----------------------------------------------------------------------------*/
\r
53 int DoLocalCWD(char *Path)
\r
58 SetTaskMsg(">>CD %s", Path);
\r
59 if(SetCurrentDirectory(Path) != TRUE)
\r
61 SetTaskMsg(MSGJPN145);
\r
68 /*-----
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83f
\83B
\83\8c\83N
\83g
\83\8a\8dì
\90¬ -------------------------------------------
\r
71 * char *Path :
\83p
\83X
\96¼
\r
75 *----------------------------------------------------------------------------*/
\r
77 void DoLocalMKD(char *Path)
\r
79 SetTaskMsg(">>MKDIR %s", Path);
\r
80 if(_mkdir(Path) != 0)
\r
81 SetTaskMsg(MSGJPN146);
\r
86 /*-----
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83J
\83\8c\83\93\83g
\83f
\83B
\83\8c\83N
\83g
\83\8a\8eæ
\93¾ -----------------------------------
\r
89 * char *Buf :
\83p
\83X
\96¼
\82ð
\95Ô
\82·
\83o
\83b
\83t
\83@
\r
93 *----------------------------------------------------------------------------*/
\r
95 void DoLocalPWD(char *Buf)
\r
97 if(GetCurrentDirectory(FMAX_PATH, Buf) == 0)
\r
103 /*-----
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83f
\83B
\83\8c\83N
\83g
\83\8a\8dí
\8f\9c ------------------------------------------
\r
106 * char *Path :
\83p
\83X
\96¼
\r
110 *----------------------------------------------------------------------------*/
\r
112 void DoLocalRMD(char *Path)
\r
115 SetTaskMsg(">>RMDIR %s", Path);
\r
116 if(rmdir(Path) != 0)
\r
117 SetTaskMsg(MSGJPN147);
\r
119 SetTaskMsg(">>RMDIR %s", Path);
\r
121 if(MoveFileToTrashCan(Path) != 0)
\r
122 SetTaskMsg(MSGJPN148);
\r
128 /*-----
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83t
\83@
\83C
\83\8b\8dí
\8f\9c -----------------------------------------------
\r
131 * char *Path :
\83p
\83X
\96¼
\r
135 *----------------------------------------------------------------------------*/
\r
137 void DoLocalDELE(char *Path)
\r
140 SetTaskMsg(">>DEL %s", Path);
\r
141 if(DeleteFile(Path) != TRUE)
\r
142 SetTaskMsg(MSGJPN149);
\r
144 SetTaskMsg(">>DEL %s", Path);
\r
146 if(MoveFileToTrashCan(Path) != 0)
\r
147 SetTaskMsg(MSGJPN150);
\r
153 /*-----
\83\8d\81[
\83J
\83\8b\91¤
\82Ì
\83t
\83@
\83C
\83\8b\96¼
\95Ï
\8dX ---------------------------------------------
\r
156 * char *Src :
\8c³
\83t
\83@
\83C
\83\8b\96¼
\r
157 * char *Dst :
\95Ï
\8dX
\8cã
\82Ì
\83t
\83@
\83C
\83\8b\96¼
\r
161 *----------------------------------------------------------------------------*/
\r
163 void DoLocalRENAME(char *Src, char *Dst)
\r
165 SetTaskMsg(">>REN %s %s", Src, Dst);
\r
166 if(MoveFile(Src, Dst) != TRUE)
\r
167 SetTaskMsg(MSGJPN151);
\r
172 /*-----
\83t
\83@
\83C
\83\8b\82Ì
\83v
\83\8d\83p
\83e
\83B
\82ð
\95\
\8e¦
\82·
\82é ----------------------------------------
\r
175 * char *Fname :
\83t
\83@
\83C
\83\8b\96¼
\r
179 *----------------------------------------------------------------------------*/
\r
181 void DispFileProperty(char *Fname)
\r
183 SHELLEXECUTEINFO sInfo;
\r
185 memset(&sInfo, NUL, sizeof(SHELLEXECUTEINFO));
\r
186 sInfo.cbSize = sizeof(SHELLEXECUTEINFO);
\r
187 sInfo.fMask = SEE_MASK_INVOKEIDLIST;
\r
188 sInfo.hwnd = NULL; //GetMainHwnd();
\r
189 sInfo.lpVerb = "Properties";
\r
190 sInfo.lpFile = Fname;
\r
191 sInfo.lpParameters = NULL;
\r
192 sInfo.lpDirectory = NULL;
\r
193 sInfo.nShow = SW_NORMAL;
\r
194 sInfo.lpIDList = NULL;
\r
195 ShellExecuteEx(&sInfo);
\r
200 /*-----
\91®
\90«
\82ð
\83`
\83F
\83b
\83N
\82·
\82é FindFirstFile --------------------------------------
\r
203 * char *Fname :
\83t
\83@
\83C
\83\8b\96¼
\r
204 * WIN32_FIND_DATA *FindData :
\8c\9f\8dõ
\83f
\81[
\83^
\r
205 * int IgnHide :
\89B
\82µ
\83t
\83@
\83C
\83\8b\82ð
\96³
\8e\8b\82·
\82é
\82©
\82Ç
\82¤
\82©(YES/NO)
\r
208 * HANDLE
\83n
\83\93\83h
\83\8b\r
209 *----------------------------------------------------------------------------*/
\r
211 HANDLE FindFirstFileAttr(char *Fname, WIN32_FIND_DATA *FindData, int IgnHide)
\r
215 if((hFind = FindFirstFile(Fname, FindData)) != INVALID_HANDLE_VALUE)
\r
219 while(FindData->dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
\r
221 if(FindNextFile(hFind, FindData) == FALSE)
\r
224 hFind = INVALID_HANDLE_VALUE;
\r
234 /*-----
\91®
\90«
\82ð
\83`
\83F
\83b
\83N
\82·
\82é FindNextFile ---------------------------------------
\r
237 * HANDLE hFind :
\83n
\83\93\83h
\83\8b\r
238 * WIN32_FIND_DATA *FindData :
\8c\9f\8dõ
\83f
\81[
\83^
\r
239 * int IgnHide :
\89B
\82µ
\83t
\83@
\83C
\83\8b\82ð
\96³
\8e\8b\82·
\82é
\82©
\82Ç
\82¤
\82©(YES/NO)
\r
242 * HANDLE
\83n
\83\93\83h
\83\8b\r
243 *----------------------------------------------------------------------------*/
\r
245 BOOL FindNextFileAttr(HANDLE hFind, WIN32_FIND_DATA *FindData, int IgnHide)
\r
249 while((Ret = FindNextFile(hFind, FindData)) == TRUE)
\r
253 if((FindData->dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) == 0)
\r