【发布时间】:2012-12-17 20:49:57
【问题描述】:
我有一个文件夹,里面有大约 4000 个文件夹。 在每个文件夹中都有一个我希望编辑的 .ini 文件。 在 .ini 文件中,我想搜索一个字符串并将其替换为另一个字符串。
需要注意的是,我有一个特定的文件夹列表,如果你愿意的话,还有一个白名单。我只想更改我在白名单中指定的文件夹内的 .ini 文件,而不是其余文件夹。
我的平台是 Windows。
示例文件夹结构:
Parent Folder
Folder1
file.ini
Variable1=TOMATO
^^^^^^^^^^^^^^^^^ > Replace with: Variable1=Lettuce
Folder2
file.ini
DO NOTHING
Folder3
file.ini
Variable1=TOMATO
^^^^^^^^^^^^^^^^^ > Replace with: Variable1=Lettuce
FolderA
file.ini
DO NOTHING
FolderB
file.ini
DO NOTHING
FolderC
file.ini
Variable1=TOMATO
^^^^^^^^^^^^^^^^^ > Replace with: Variable1=Lettuce
上述文件夹结构的变量文件夹列表如下:
- 文件夹 1
- 文件夹 3
- 文件夹C
我的变量是:
- 搜索:Variable1=TOMATO
- 替换为:Variable1=Lettuce
我尝试使用 WinGrep 等,但我只看到一行排除而不是能够调用上述文件夹列表。我对这个一次性脚本的生产运行将从 ~4000 个文件夹中拉出 ~1000 个文件夹,因此无法手动处理。
【问题讨论】:
-
与
cygwin?你有什么脚本环境可用? -
我考虑过 cygwin,我只是不清楚如何根据我的文件夹列表进行搜索,而不是我正在搜索的文件夹的子文件夹中的模式。它是 Windows,所以任何东西都会脚本必须是 .bat、.vbs、PowerShell 或已安装才能启用其他功能。
-
您的问题标题和标签具有误导性,我现在已修复它们,因此您应该引起正确专家的注意。您应该提供一些更有用的信息,例如白名单文件中的几行和发布您迄今为止尝试过的内容。
标签: windows powershell batch-file vbscript