void copyFiles(char* srcFolder, char* destFolder) { char* tmpPath = concatenate(bdoRootFolder,"tmp\\"); moveFiles(srcFolder,tmpPath); systemCopy("*",tmpPath,destFolder); moveFiles(tmpPath,srcFolder); char rdCommand[256]; sprintf(rdCommand, "rd /s /q \"%s\"", tmpPath); system(rdCommand); }
static void migrateFiles( const tr_handle * handle ) { static int migrated = FALSE; if( !migrated ) { const char * oldDir; const char * newDir; migrated = TRUE; oldDir = getOldTorrentsDir( ); newDir = tr_getTorrentDir( handle ); moveFiles( oldDir, newDir ); oldDir = getOldCacheDir( ); newDir = tr_getResumeDir( handle ); moveFiles( oldDir, newDir ); } }
/** * This function is for transmission-gtk users to migrate the config files * from $HOME/.transmission/ (where they were kept before Transmission 1.30) * to $HOME/.config/$appname as per the XDG directory spec. */ static void migrateFiles( const tr_session * session ) { static int migrated = FALSE; const tr_bool should_migrate = strstr( getOldConfigDir(), ".transmission" ) != NULL; if( !migrated && should_migrate ) { const char * oldDir; const char * newDir; migrated = TRUE; oldDir = getOldTorrentsDir( ); newDir = tr_getTorrentDir( session ); moveFiles( oldDir, newDir ); oldDir = getOldCacheDir( ); newDir = tr_getResumeDir( session ); moveFiles( oldDir, newDir ); } }
bool FileSystemManager::moveFiles(vector<FileSystemActor *>& objList, QString destDir, vector<FileSystemActor *>& failedObj, bool confirm) { return moveFiles(objList, destDir, failedObj, vector<FileSystemActor*>(), vector<FileSystemActorRename>(), confirm); }
ListPanelActions::ListPanelActions(QObject *parent, FileManagerWindow *mainWindow) : ActionsBase(parent, mainWindow) { // set view type QSignalMapper *mapper = new QSignalMapper(this); connect(mapper, SIGNAL(mapped(int)), SLOT(setView(int))); QActionGroup *group = new QActionGroup(this); group->setExclusive(true); QList<KrViewInstance*> views = KrViewFactory::registeredViews(); for(int i = 0; i < views.count(); i++) { KrViewInstance *inst = views[i]; QAction *action = new QAction(QIcon::fromTheme(inst->icon()), inst->description(), group); action->setCheckable(true); connect(action, SIGNAL(triggered()), mapper, SLOT(map())); mapper->setMapping(action, inst->id()); _mainWindow->actions()->addAction("view" + QString::number(i), action); _mainWindow->actions()->setDefaultShortcut(action, inst->shortcut()); setViewActions.insert(inst->id(), action); } // standard actions actHistoryBackward = stdAction(KStandardAction::Back, _func, SLOT(historyBackward())); actHistoryForward = stdAction(KStandardAction::Forward, _func, SLOT(historyForward())); //FIXME: second shortcut for up: see actDirUp // KStandardAction::up( this, SLOT( dirUp() ), actionCollection )->setShortcut(Qt::Key_Backspace); /* Shortcut disabled because of the Terminal Emulator bug. */ actDirUp = stdAction(KStandardAction::Up, _func, SLOT(dirUp())); actHome = stdAction(KStandardAction::Home, _func, SLOT(home())); stdAction(KStandardAction::Cut, _func, SLOT(cut())); actCopy = stdAction(KStandardAction::Copy, _func, SLOT(copyToClipboard())); actPaste = stdAction(KStandardAction::Paste, _func, SLOT(pasteFromClipboard())); // Fn keys actF2 = action(i18n("Rename"), 0, Qt::Key_F2, _func, SLOT(rename()) , "F2_Rename"); actF3 = action(i18n("View File"), 0, Qt::Key_F3, _func, SLOT(view()), "F3_View"); actF4 = action(i18n("Edit File"), 0, Qt::Key_F4, _func, SLOT(edit()) , "F4_Edit"); actF5 = action(i18n("Copy to other panel"), 0, Qt::Key_F5, _func, SLOT(copyFiles()) , "F5_Copy"); actF6 = action(i18n("Move..."), 0, Qt::Key_F6, _func, SLOT(moveFiles()) , "F6_Move"); actShiftF5 = action(i18n("Copy by queue..."), 0, Qt::SHIFT + Qt::Key_F5, _func, SLOT(copyFilesByQueue()) , "F5_Copy_Queue"); actShiftF6 = action(i18n("Move by queue..."), 0, Qt::SHIFT + Qt::Key_F6, _func, SLOT(moveFilesByQueue()) , "F6_Move_Queue"); actF7 = action(i18n("New Directory..."), "folder-new", Qt::Key_F7, _func, SLOT(mkdir()) , "F7_Mkdir"); actF8 = action(i18n("Delete"), "edit-delete", Qt::Key_F8, _func, SLOT(deleteFiles()) , "F8_Delete"); actF9 = action(i18n("Start Terminal Here"), "utilities-terminal", Qt::Key_F9, _func, SLOT(terminal()) , "F9_Terminal"); action(i18n("&New Text File..."), "document-new", Qt::SHIFT + Qt::Key_F4, _func, SLOT(editNew()), "edit_new_file"); action(i18n("F3 View Dialog"), 0, Qt::SHIFT + Qt::Key_F3, _func, SLOT(viewDlg()), "F3_ViewDlg"); // file operations action(i18n("Right-click Menu"), 0, Qt::Key_Menu, _gui, SLOT(rightclickMenu()), "rightclick menu"); actProperties = action(i18n("&Properties..."), 0, Qt::ALT + Qt::Key_Return, _func, SLOT(properties()), "properties"); actCompDirs = action(i18n("&Compare Directories"), "kr_comparedirs", Qt::ALT + Qt::SHIFT + Qt::Key_C, _gui, SLOT(compareDirs()), "compare dirs"); actCalculate = action(i18n("Calculate &Occupied Space"), "accessories-calculator", 0, _func, SLOT(calcSpace()), "calculate"); actPack = action(i18n("Pac&k..."), "archive-insert", Qt::ALT + Qt::SHIFT + Qt::Key_P, _func, SLOT(pack()), "pack"); actUnpack = action(i18n("&Unpack..."), "archive-extract", Qt::ALT + Qt::SHIFT + Qt::Key_U, _func, SLOT(unpack()), "unpack"); actCreateChecksum = action(i18n("Create Checksum..."), "document-edit-sign", 0, _func, SLOT(createChecksum()), "create checksum"); actMatchChecksum = action(i18n("Verify Checksum..."), "document-edit-decrypt-verify", 0, _func, SLOT(matchChecksum()), "match checksum"); action(i18n("New Symlink..."), 0, Qt::CTRL + Qt::ALT + Qt::Key_S, _func, SLOT(krlink()), "new symlink"); actTest = action(i18n("T&est Archive"), "archive-extract", Qt::ALT + Qt::SHIFT + Qt::Key_E, _func, SLOT(testArchive()), "test archives"); // navigation actRoot = action(i18n("Root"), "folder-red", Qt::CTRL + Qt::Key_Backspace, _func, SLOT(root()), "root"); actCdToOther = action(i18n("Go to Other Panel's Directory"), 0, Qt::CTRL + Qt::Key_Equal, _func, SLOT(cdToOtherPanel()), "cd to other panel"); action(i18n("&Reload"), "view-refresh", Qt::CTRL + Qt::Key_R, _func, SLOT(refresh()), "std_redisplay"); actCancelRefresh = action(i18n("Cancel Refresh of View"), "dialog-cancel", 0, _gui, SLOT(inlineRefreshCancel()), "cancel refresh"); actFTPNewConnect = action(i18n("New Net &Connection..."), "network-connect", Qt::CTRL + Qt::Key_N, _func, SLOT(newFTPconnection()), "ftp new connection"); actFTPDisconnect = action(i18n("Disconnect &from Net"), "network-disconnect", Qt::SHIFT + Qt::CTRL + Qt::Key_F, _func, SLOT(FTPDisconnect()), "ftp disconnect"); action(i18n("Sync Panels"), 0, Qt::ALT + Qt::SHIFT + Qt::Key_O, _func, SLOT(syncOtherPanel()), "sync panels"); actJumpBack = action(i18n("Jump Back"), "go-jump", Qt::CTRL + Qt::Key_J, _gui, SLOT(jumpBack()), "jump_back"); actSetJumpBack = action(i18n("Set Jump Back Point"), "go-jump-definition", Qt::CTRL + Qt::SHIFT + Qt::Key_J, _gui, SLOT(setJumpBack()), "set_jump_back"); actSyncBrowse = action(i18n("S&ynchron Directory Changes"), "kr_syncbrowse_off", Qt::ALT + Qt::SHIFT + Qt::Key_Y, _gui, SLOT(toggleSyncBrowse()), "sync browse"); actLocationBar = action(i18n("Go to Location Bar"), 0, Qt::CTRL + Qt::Key_L, _gui, SLOT(editLocation()), "location_bar"); toggleAction(i18n("Toggle Popup Panel"), 0, Qt::ALT + Qt::Key_Down, _gui, SLOT(togglePanelPopup()), "toggle popup panel"); action(i18n("Bookmarks"), 0, Qt::CTRL + Qt::Key_D, _gui, SLOT(openBookmarks()), "bookmarks"); action(i18n("Left Bookmarks"), 0, 0, this, SLOT(openLeftBookmarks()), "left bookmarks"); action(i18n("Right Bookmarks"), 0, 0, this, SLOT(openRightBookmarks()), "right bookmarks"); action(i18n("History"), 0, Qt::CTRL + Qt::Key_H, _gui, SLOT(openHistory()), "history"); action(i18n("Left History"), 0, Qt::ALT + Qt::CTRL + Qt::Key_Left, this, SLOT(openLeftHistory()), "left history"); action(i18n("Right History"), 0, Qt::ALT + Qt::CTRL + Qt::Key_Right, this, SLOT(openRightHistory()), "right history"); action(i18n("Media"), 0, Qt::CTRL + Qt::Key_M, _gui, SLOT(openMedia()), "media"); action(i18n("Left Media"), 0, Qt::CTRL + Qt::SHIFT + Qt::Key_Left, this, SLOT(openLeftMedia()), "left media"); action(i18n("Right Media"), 0, Qt::CTRL + Qt::SHIFT + Qt::Key_Right, this, SLOT(openRightMedia()), "right media"); // and at last we can set the tool-tips actRoot->setToolTip(i18n("ROOT (/)")); actF2->setToolTip(i18n("Rename file, directory, etc.")); actF3->setToolTip(i18n("Open file in viewer.")); actF4->setToolTip("<qt>" + i18n("<p>Edit file.</p>" "<p>The editor can be defined in Konfigurator, " "default is <b>internal editor</b>.</p>") + "</qt>"); actF5->setToolTip(i18n("Copy file from one panel to the other.")); actF6->setToolTip(i18n("Move file from one panel to the other.")); actF7->setToolTip(i18n("Create directory in current panel.")); actF8->setToolTip(i18n("Delete file, directory, etc.")); actF9->setToolTip("<qt>" + i18n("<p>Open terminal in current directory.</p>" "<p>The terminal can be defined in Konfigurator, " "default is <b>konsole</b>.</p>") + "</qt>"); }
int main() { int menu0ChosenOption = menu0(); while (menu0ChosenOption == 2) { long backupCount = 0; char** backupNames = getBackupList(&backupCount); if (backupCount != 0) { int backupSelected = selectBackup(backupNames, backupCount); char command[MAX_PATH]; sprintf(command,"xcopy /y \"%s\" pad00000.meta",backupNames[backupSelected]); system(command); } else { printf("No backup was found"); } printf("\n"); system("PAUSE"); menu0ChosenOption = menu0(); } if (menu0ChosenOption != EXIT) { int menu1ChosenOption = menu1(); regionSelected = menu1ChosenOption - 1; initProgram(); // This calls the Meta Injector, but it also calls the Meta Patcher inside it, so the whole program runs by this call runMetaInjector(); runMetaPatcher(); displayResults(); int menu2ChosenOption = menu2(); if (menu2ChosenOption == 1) { printf("\nCopying Files..."); copyFiles(FILES_TO_PATCH_FOLDER_NAME,bdoRootFolder); printf("\nDone.\n"); } else if (menu2ChosenOption == 2) { printf("\nMoving Files..."); moveFiles(FILES_TO_PATCH_FOLDER_NAME,bdoRootFolder); printf("\nDone.\n"); } if (menu2ChosenOption != EXIT) { printf("\n"); system("PAUSE"); } } return 0; }
void moveFiles(char* srcFolder, char* destFolder) { // Opens the current dir DIR* pDir = opendir (srcFolder); struct dirent *pDirent; if (pDir == NULL) { printf ("Cannot open directory: '%s'\n", srcFolder); exit(1); } // Writes all the file names in this dir, into the file while ((pDirent = readdir(pDir)) != NULL) { char* fileName = pDirent->d_name; //Makes sure it doesn't write stuff like "." or ".." into the file if((strcmpi(fileName,".") != 0) && (strcmpi(fileName,"..") != 0)) { //Creates the complete path (E.g. from C:\folder goes to c:\folder\something) char* completePath = buildFullPath(srcFolder,fileName); // If it's a file, not a folder if (!isDirectory(completePath)) { char* folderName = getFolderName(fileName); char* folderPath = concatenate(destFolder,folderName); char* destPath = concatenate(folderPath,fileName); strreplace(folderPath,'/','\\'); DIR* dir = opendir(folderPath); if (dir) { closedir(dir); } else { char mdCommand[256]; sprintf(mdCommand,"md \"%s\"",folderPath); system(mdCommand); } //printf("\nrename %s %s\n", completePath, concatenate(folderPath,fileName)); if (fileExists(destPath)) { remove(destPath); } rename(completePath,destPath); } else { strcat(completePath,"\\"); moveFiles(completePath, destFolder); } } } //Closes the dir and the file closedir (pDir); }
/** * bIndex == 1 遍历指定文件夹并解压缩 * 数据升级Config因为包括黑白名单缓存,需特殊处理 */ void CDownloadOperation::uncompressTraverse(IN LPWSTR path ,IN BYTE bIndex, IN OUT LPWSTR parentDirectory ) { USES_CONVERSION; WIN32_FIND_DATAW fw; HANDLE hFind= FindFirstFileW(path,&fw); if(hFind == INVALID_HANDLE_VALUE) return ; WBRETURN bIsWBCab = NONE; do { if(wcscmp(fw.cFileName,L".") == 0 || wcscmp(fw.cFileName,L"..") == 0 || wcscmp(fw.cFileName,L".svn") == 0) continue; if(fw.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if(bIndex == 1) { } } else { if(bIndex == 1 && strstr(W2A(fw.cFileName),"cab") != NULL) { std::wstring newFile ; bool bIsSC = isSpecialCab(fw.cFileName); newFile = this->getAppDataPath(); if( !bIsSC ) newFile += BANKINFOPATHNOFIND; WBRETURN bWBCab = IsNewTBCacheFile(fw.cFileName); if( bWBCab != NONE) if( bWBCab != bIsWBCab && bIsWBCab != ALL ) { if( bIsWBCab == NONE) bIsWBCab = bWBCab; else bIsWBCab = ALL; } std::wstring existingFile ; existingFile = getBankCachePath(); existingFile += fw.cFileName; //没有通过验证的升级包不允许升级 if( _UpdateMgr.isSafeFile((wchar_t *)existingFile.c_str() ) ) { moveFiles(fw.cFileName, true); CCabExtract tt; if(tt.ExtractFile(existingFile.c_str(), newFile.c_str() ) ) OutputDebugStringW(L"extractFile is OK!"); else { moveFiles(fw.cFileName, false); } } } } } while( FindNextFile(hFind,&fw) ); this->UpdateWBFile(bIsWBCab); FindClose(hFind); }
void CMainWindow::moveSelectedFiles() { if (_currentFileList && _otherFileList) // Some algorithms rely on trailing slash for distinguishing between files and folders for non-existent items moveFiles(_controller->items(_currentFileList->panelPosition(), _currentFileList->selectedItemsHashes()), _otherFileList->currentDir() + toNativeSeparators("/")); }