windows下一些命令的记录
缘起
起因是因为在移植linux的程序到windows上,同事写了类似rm -rf
cp -r
这种平台特性的命令,甚至还用了组合的命令,所以我需要用batch脚本也写一下
由于我linux的bash用得比windows 的 batch还6,所以特写此随笔 防止老年痴呆后,有迹可循
删除文件夹
rm -rf xxx
对应
rmdir /s /q \"xxx\"
其中, s表示递归,/q表示自动确认yes
自动确认也可以这么写
echo y|rmdir /s \"xxx\"
复制文件夹
cp -r
对应
xcopy /i/e/c/h
其中 e=empty 表示空目录,子目录也需要复制 c=continue,复制一个文件失败,其他的仍然会复制, h=隐藏文件, i的话我暂时不知道什么名称,只知道在复制文件夹时,不指定这个参数会被复制为文件
删除n天之后的文件夹
#ifdef Q_OS_WIN
QString exec = QString("FORFILES -p \"%1\" /D -%2 /C \"cmd /c IF @isdir == TRUE rd /S /Q @path\"").arg(path).arg(days);
#else
QString exec = QString("find %1 -type d -mtime +%2 -exec rm -rf {} \\;").arg(path).arg(days);
#endif
system(exec.toLocal8Bit().data());
删除n天之后的文件
auto path = QCoreApplication::applicationDirPath() + "/log";
#ifdef Q_OS_WIN
QString exec = QString("FORFILES -p \"%1\" /D -%2 /C \"cmd /c IF @isdir == FALSE del @path\"").arg(path).arg(days);
#else
QString exec = QString("find %1 -type f -name '*.log' -mtime +%2 -exec rm -rf {} \\;").arg(path).arg(days);
#endif
system(exec.toLocal8Bit().data());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏