判断目录是否存在
dirPath := "C:\\WINDOWS\\system32\\mlb"
if err := ensureDirExists(dirPath); err != nil {
log.Fatalf("Error ensuring directory exists: %v", err)
}
log.Println("Directory ensured.")
func EnsureDirExists(path string) error {
// 检查目录是否存在
if _, err := os.Stat(path); os.IsNotExist(err) {
// 如果目录不存在,尝试创建它
if err := os.MkdirAll(path, 0755); err != nil {
return err
}
}
return nil
}
删除指定文件
err := deleteFile("/path/to/your/file.txt")
if err != nil {
log.Fatal(err)
}
func DeleteFile(fileName string) error {
err := os.Remove(fileName)
if err != nil {
return err
}
fmt.Printf("File %s has been successfully deleted.\n", fileName)
return nil
}
递归删除文件夹及其文件夹内的东西
err := DeleteDirectory("/path/to/your/directory")
if err != nil {
log.Fatal(err)
}
func DeleteDirectory(dirName string) error {
err := os.RemoveAll(dirName)
if err != nil {
return err
}
fmt.Printf("Directory %s and its contents have been successfully deleted.\n", dirName)
return nil
}
解压 zip 文件
dirPath := "C:\\WINDOWS\\system32\\mlb"
if err := ensureDirExists(dirPath); err != nil {
log.Fatalf("Error ensuring directory exists: %v", err)
}
log.Println("Directory ensured.")
func EnsureDirExists(path string) error {
// 检查目录是否存在
if _, err := os.Stat(path); os.IsNotExist(err) {
// 如果目录不存在,尝试创建它
if err := os.MkdirAll(path, 0755); err != nil {
return err
}
}
return nil
}
解压 zip 文件
err := unzipFile("/path/to/your/zipfile.zip", "/path/to/target/directory")
if err != nil {
log.Fatal(err)
}
func UnzipFile(zipFilePath string, targetDir string) error {
// 打开 zip 文件
r, err := zip.OpenReader(zipFilePath)
if err != nil {
return err
}
defer r.Close()
// 遍历 zip 文件中的每一个文件或目录
for _, f := range r.File {
// 提取文件信息
fPath := filepath.Join(targetDir, f.Name)
// 检查文件是否已经存在,如果存在则跳过
if _, err1 := os.Stat(fPath); !os.IsNotExist(err1) {
log.Printf("File %s already exists, skipping...", f.Name)
continue
}
if f.FileInfo().IsDir() {
// 如果是目录,则创建目录
os.MkdirAll(fPath, os.ModePerm)
} else {
// 如果是文件,则创建并写入文件
outFile, err := os.OpenFile(fPath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())
if err != nil {
return err
}
rc, err := f.Open()
if err != nil {
return err
}
_, err = io.Copy(outFile, rc)
if err != nil {
return err
}
outFile.Close()
rc.Close()
}
}
return nil
}
评论 (0)