[英]When trying to delete rows in csv file using a list as a reference of files you want to keep, it deletes everything instead
[英]How to delete files and folders but keep directory structure and leave behind a empty file instead of file itself?
我想删除文件和文件夹,但保留目录结构不变。
但是我还需要在当前路径中保留文件名。 就像这样,留下一个空的文本,其名称与文件名称相同,而不是文件本身。
我的驱动器格式是NTFS。
在Bash 4+中,您可以执行以下操作将某个路径下的所有文件归零:
shopt -s globstar
for file in /mnt/c/path/to/clean/**; do
[[ -f $file ]] && : > "$file"
done
您可以使用os.walk
浏览目录结构,并用空文件替换每个文件(覆盖文件:
import io
import os
work_dir = '.'
for root, dirnames, filenames in os.walk(work_dir):
for filename in filenames:
path = os.path.join(root, filename)
io.open(path, mode='w').close()
请参阅文档: https : //docs.python.org/3/library/os.html
对于Windows cmd
解决方案
for /r "x:\path\to\clean" %a in (*) do ">%a" type nul
要从批处理文件运行它,需要转义百分号(将它们加倍)
for /r "x:\path\to\clean" %%a in (*) do ">%%a" type nul
在Windows cmd中 ,您可能要使用robocopy
命令 :
rem // Create copy with zero-length files at temporary location:
robocopy "\path\to\your\dir" "\path\to\temp\dir" *.* /E /CREATE
rem // Move tree at temporary location onto original location:
robocopy "\path\to\temp\dir" "\path\to\your\dir" *.* /E /MOVE /IS
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.