我们有一个活动目录,大约有80个用户。
我现在想做的是在每个用户文件夹中放置一个用户可以自己运行的脚本,该脚本将在同一文件夹中创建一个日志文件,且该文件具有5天以上的文件。
每个用户的homefolder在Windows中作为驱动器映射到字母h 现在我有这个:
forfiles -p "%cd%" -s -m *.* /D -5 /C "cmd /c echo @path >> %cd%\log.txt"
但是它引发了我这个错误。
H:\>forfiles -p "H:\" -s -m *.* /D -5 /C "cmd /c echo @path >> H:\\log.txt"
ERROR: Invalid argument/option - '@path'.
有什么办法解决这个问题?
如果我在带有测试文件夹的本地PC上运行,则效果很好。
答案 0 :(得分:0)
在结束双引号时,如果在重定向之前将其移至,肯定会更有意义,就像将其更改为 >
而不是 >>
。
解决此问题的方法是,当您使用/P
选项时,不能将其双引号,并且还包括尾随反斜杠(一个或另一个)。。 >
我的阅读是反斜杠转义了双引号。
由于驱动器往往需要反斜杠,因此您所要做的就是删除其周围的双引号(因为驱动器中不包含空格,因此无论如何都不需要)。
。 >还请记住,正如我的评论中所推断的那样,ForFiles
在默认情况下已使用当前目录,因此将其完全删除更为容易。