Windows命令行删除文件夹

Article Directory
  1. 1. 场景
  2. 2. 参考

⚠️Warning:Windows命令行删除文件夹有坑。

场景

使用webpack的时候,配置文件hash之后,每次文件内容更新,就会重新生成js文件放到dist/下,并且之前生成的js文件不会被覆盖,这样时间久了之后dist/下的文件会越来越多。

我想在package.json里加一条build命令,每次运行yarn build或者npm run build的时候,会先删除dist目录然后再运行webpack,不过,在尝试使用rm -rf删除dist/的时候出错了:

删除文件夹失败

经过搜索和尝试,发现这样写是能用的:

if exist dist rmdir /s /q dist) && webpack

package.json配置:

"scripts": {
"build":
"(if exist dist rmdir /s /q dist) && webpack"
}

这样就能直接使用yarn build来启动webpack构建文件了。

📄参数说明:

/s:递归删除文件夹。如果不加这个参数,文件夹里面有东西的时候删除不了。

/q:安静模式删除。如果不加这个参数,删除的时候会让你选Yes/No来确认。

参考

Delete a directory and its files using command line but don’t throw error if it doesn’t exist
Microsoft Doc - rmdir

Author: kpt

Permalink: http://kpt.ink/2021/10/12/Windows-rmdir/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。