首页 > 解决方案 > 如何以编程方式将引号添加到 Windows 文件/目录名称 w

问题描述

我正在使用 Git for windows 来使用 linuxfindrm命令查找和删除文件。命令返回的路径中的某些文件/目录名称find带有空格,例如在“程序文件”Windows 目录的情况下。

由于文件/目录名称中的空格,如下所示运行findandrm命令将返回错误。如何以编程方式删除这些文件而不会收到来自命令的错误?rm

$ find /c/'program files'/ ~ -type f -iname "securecrt.vbs" 2>/dev/null
/c/program files/VanDyke Software/Clients/Scripts/securecrt.vbs
$
$ find /c/'program files'/ ~ -type f -iname "securecrt.vbs" 2>/dev/null | xargs rm
rm: cannot remove '/c/program': No such file or directory
rm: cannot remove 'files/VanDyke': No such file or directory
rm: cannot remove 'Software/Clients/Scripts/securecrt.vbs': No such file or directory

标签: findgit-bashrm

解决方案


最好使用 -exec 指令:

find /c/'program files'/ ~ -type f -iname "securecrt.vbs" -exec rm {} \;

即使文件名称中包含空格,这也确实有效。


推荐阅读