如何以编程方式将引号添加到 Windows File/Directory 名称 w
How to Programatically Add Quotes to Windows File/Directory Names w
我正在使用 Git for windows 使用 linux find
和 rm
命令查找和删除文件。 return 由 find
命令编辑的路径中的一些 file/directory 名称有空格,例如“程序文件”windows 目录。
运行 find
和 rm
命令 如下所示 将 return 错误,因为 [=] 中的空格26=] 名字。如何在不从 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
最好使用 -exec 指令:
find /c/'program files'/ ~ -type f -iname "securecrt.vbs" -exec rm {} \;
即使名称中包含 space 的文件也能正常工作。
我正在使用 Git for windows 使用 linux find
和 rm
命令查找和删除文件。 return 由 find
命令编辑的路径中的一些 file/directory 名称有空格,例如“程序文件”windows 目录。
运行 find
和 rm
命令 如下所示 将 return 错误,因为 [=] 中的空格26=] 名字。如何在不从 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
最好使用 -exec 指令:
find /c/'program files'/ ~ -type f -iname "securecrt.vbs" -exec rm {} \;
即使名称中包含 space 的文件也能正常工作。