Npm脚本终端命令执行失败:mv未识别,move命令不移动目录
解决Windows下Npm脚本
move-public移动目录失败的问题 问题根源
mv是类Unix系统的原生命令,Windows CMD/PowerShell默认不支持,因此触发“'mv' 不是内部或外部命令”的报错。- Windows自带的
move命令使用通配符.\dist\*时,仅会移动dist目录下的文件,无法递归移动子目录,导致目录转移失败。
可行解决方案
方案1:使用PowerShell原生命令move-item
修改package.json中的脚本为:
"scripts": { "move-public": "powershell move-item -Path .\\dist\\* -Destination ..\\server\\public -Force" }
move-item支持递归移动文件与目录,-Force参数会自动覆盖目标目录中已存在的同名内容。
方案2:使用跨平台工具shx
shx是轻量跨平台shell命令工具,可在Windows、Linux、Mac上统一执行类Unix命令:
- 安装依赖:
npm install shx --save-dev
- 修改npm脚本:
"scripts": { "move-public": "shx mv -r ./dist/* ../server/public" }
-r参数表示递归移动目录及其内部所有内容,完美适配跨平台场景。
内容的提问来源于stack exchange,提问作者ABOAGYE SOLOMON
相关产品推荐
相关产品推荐

