在路径U:\ 0012*中的每个子文件夹中,我创建一个示例文件夹,并将文件从适当的子文件夹移动到示例文件夹.
FOR /d %%A IN (U:\0012\*) DO mkdir %%~A\example & move %%~A\*.* %%~A\example\
Run Code Online (Sandbox Code Playgroud)
我想尝试的是使用rsync命令而不是移动
FOR /d %%A IN (U:\0012\*) DO
C:\cygwin\bin\rsync.exe -av -h --progress --checksum "/cygdrive/U/0012/%%A/*.*/" "/cygdrive/U/0012/%%A/EXAMPLE/"
Run Code Online (Sandbox Code Playgroud)
该脚本因语法错误而自行关闭.是否可以在for循环中使用rsync?
通过做一些拉、推、变基、合并......我的项目中剩下的一些空目录。
后来我才知道,Git 不跟踪目录,并且有一个命令可以删除这些目录。
git clean -fd
此命令将清除所有不属于您的 git 存储库的文件 - 包括文件夹。
但是上面的命令也会删除所有未跟踪的文件和目录,这对正在进行的开发项目来说是一个很大的损失。
有没有办法只删除空文件夹而不触及未跟踪的文件。
我想添加上下文菜单这个漂亮的shell脚本,它自动删除运行它的文件夹下的所有空文件夹和子文件夹:
for /f "usebackq delims=" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"
Run Code Online (Sandbox Code Playgroud)
要将这样的项添加到(目录)上下文菜单,我应该运行一个reg扩展名为内容的文件
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Delete empty folders]
[HKEY_CLASSES_ROOT\Directory\shell\Delete empty folders\Command]
@=for /f "usebackq delims=" %%d in (`"dir %1 /ad/b/s | sort /R"`) do rd "%%d"
Run Code Online (Sandbox Code Playgroud)
但是这个不起作用.如何正确运行一个衬管shell脚本?