如何将目录内所有文件向上移动一级?
问题
假设我有如下目录结构:
myfiles/stuff/things/whatever.txt
我希望将"things"目录下的所有文件移动到"stuff"目录中,无需逐个列出文件。示例中仅1个文件,但实际场景下有1000个文件,请问有什么解决办法?
解决办法
Unix/Linux/macOS 系统(终端)
- 若当前处于
stuff目录下,执行以下命令移动所有可见文件:mv things/* . - 若需要包含隐藏文件(以
.开头的文件),可以先开启dotglob选项再执行移动命令:
或者用通配符组合(注意:如果shopt -s dotglob mv things/* .things目录下没有隐藏文件,这个命令会出现No such file or directory提示,但不影响可见文件的移动):mv things/{*,.*} . - 若使用绝对路径操作(可在任意目录执行):
包含隐藏文件的话,同样先开启mv /完整路径/myfiles/stuff/things/* /完整路径/myfiles/stuff/dotglob选项。
Windows 系统
命令提示符(CMD)
执行以下命令移动所有可见文件:
move "C:\myfiles\stuff\things\*" "C:\myfiles\stuff\"
PowerShell
移动所有可见文件:
Move-Item -Path "C:\myfiles\stuff\things\*" -Destination "C:\myfiles\stuff\"
若需包含隐藏文件,添加-Force参数:
Move-Item -Path "C:\myfiles\stuff\things\*" -Destination "C:\myfiles\stuff\" -Force
内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles
相关产品推荐
相关产品推荐

