【问题标题】:Windows 7 desktop.ini shared folder removal script bugWindows 7 desktop.ini 共享文件夹删除脚本错误
【发布时间】:2013-12-10 15:17:49
【问题描述】:

批处理文件问题。我想很多人都喜欢在 Windows 资源管理器中显示为“我的文档”的共享文件夹。

我照看几所学校,我们将学生主文件夹设置在一个名为 C:\data\pupils\yeargroup...的文件夹中...

然后,教师可以访问共享中的学生文件夹并查看学生的作业。随着 Windows 7 的推出,在 Yeargroup 文件夹中包含学生姓名列表和他们的 mydocs 之前,您现在看到一大堆文件夹报告为“我的文档”,因为其中的 desktop.ini 位于其中。

所以,我写了这个小批处理文件,并在 c:\data 中运行了一个 15 分钟的自动化任务,它做得很好或恢复了法律和秩序:

FOR /f "delims=" %%i IN ('dir /s /b /a-d "desktop.ini"') DO attrib -s -h %%i >nul 2>nul
FOR /f "delims=" %%i IN ('dir /s /b /a-d "desktop.ini"') DO del %%i >nul 2>nul

在部署到我刚刚参与的新站点之前一直运行良好。而我设置的所有文件夹都没有空格:

C:\data\pupils\yeargroupx\joebloggs

这个站点的文件夹名称是这样的:

C:\data\pupils\yeargroup x\joe bloggs

我已经测试过手动运行命令并且似乎必须运行以下命令(从文件夹位置):

  1. dir /ash
  2. attrib -s -h
  3. del desktop.ini

由于有 100 多个用户,我显然想自动执行此操作。关于如何调整脚本的任何想法?在我更改ini文件的属性之前,我想为每个文件夹做dir /ash,否则cmd看不到它。

我通过捏造而不是任何深入的知识来运行该脚本,因此非常感谢一些帮助?

【问题讨论】:

  • 文件夹和路径名必须加上空格。

标签: windows batch-file cmd desktop.ini


【解决方案1】:

在命令尾部使用"%%i",然后使用空格和& 不会有问题。

【讨论】:

  • 谢谢。 %%i 在那里,但是我用 >nul 2>nul 抑制了任何错误消息。你会交换这些回合以便 %%i 之后出现吗?
  • 你注意到 %%i 周围的引号了吗?
  • 啊,我没有。我会试试这个。这对于放在“IF”之前的那些也有必要吗?
  • 工作愉快!就在最后一点,所以代码现在看起来如下: FOR /f "delims=" %%i IN ('dir /s /b /a-d "desktop.ini"') DO attrib -s -h "%% i" >nul 2>nul FOR /f "delims=" %%i IN ('dir /s /b /a-d "desktop.ini"') DO del "%%i" >nul 2>nul
猜你喜欢
  • 2011-01-15
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多