ioutil.ReadDir+os.Rename组合带来的问题

new_golang · · 388 次点击 · 开始浏览    置顶
files, _ := ioutil.ReadDir(path)->循环打印files没有问题 os.Rename(old,new)->单独执行也正常修改了文件名(os.Rename好像是复制操作) 然后对files执行range批量修改名称时出现了问题.大概只循环了3-4次就退出了.并且没有报错.goland提示Process finished with exit code 0表示正常退出.起初怀疑是复制没完成导致主线程提前退出.最末尾追加了 time.Sleep(time.Hour*1).依然提示Process finished with exit code 0正常退出!!休眠竟然被忽略了,请经历过的人指教下问题出现在哪?? 大致代码如下 `files, _ := ioutil.ReadDir(path)` `for i := 0; i < len(files); i++ {` ` fmt.Println(files[i].Name())` ` split := strings.Split(files[i].Name(), ".")` ` os.Rename(path+"/"+files[i].Name(), "D:/rename/"+strconv.Itoa(i)+"."+split[1])` `}` 在stackoverflow找到同样的问题:https://stackoverflow.com/questions/56075774/golang-os-renamefromdir-todir-not-working-in-windows# 但是没 解决方案....

入群交流(和以上内容无关):Go中文网 QQ 交流群:798786647 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

388 次点击  
加入收藏 微博
7 回复  |  直到 2019-08-20 10:02:17
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传