Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows批处理文件:根据输入文件(目标文件名)重命名文件(可能在多个文件夹中)_Windows_Batch File_File Io - Fatal编程技术网

Windows批处理文件:根据输入文件(目标文件名)重命名文件(可能在多个文件夹中)

Windows批处理文件:根据输入文件(目标文件名)重命名文件(可能在多个文件夹中),windows,batch-file,file-io,Windows,Batch File,File Io,我是一个新手,所以请接受我的道歉和感谢提前 这个“工具”是通过禁用某些系统驱动程序、DLL和EXE文件来自动精简Windows(XP)。我不希望直接删除,而是希望就地重命名,从而从操作系统中“删除”它们,但不会忘记它们的归属(如果需要“恢复”)。重命名是通过在现有文件名(例如:“wdmaud.drv.group_1”)上附加一个新后缀来完成的。重命名后缀应该是另一个输入变量 目标列表大约有1100个文件长(分为不同的组/阶段),因此手动重命名是不可能的。每个组将在批处理文件的单独运行中进行处理,

我是一个新手,所以请接受我的道歉和感谢提前

这个“工具”是通过禁用某些系统驱动程序、DLL和EXE文件来自动精简Windows(XP)。我不希望直接删除,而是希望就地重命名,从而从操作系统中“删除”它们,但不会忘记它们的归属(如果需要“恢复”)。重命名是通过在现有文件名(例如:“wdmaud.drv.group_1”)上附加一个新后缀来完成的。重命名后缀应该是另一个输入变量

目标列表大约有1100个文件长(分为不同的组/阶段),因此手动重命名是不可能的。每个组将在批处理文件的单独运行中进行处理,每次执行都会改变目标列表输入文件

目标列表是纯文本文件,每行一个文件名(文件中没有其他数据)。每组的条目数各不相同。目标列表如下所示:

    -- example start --
    netapi.dll
    netcfgx.dll 
    netdde.exe 
    netevent.dll 
    neth.dll
    netid.dll
    netrap.dll
    nic1394.sys
    -- example end --
文件名可以是大写、小写或混合大小写。这些文件可能存在于C:\Windows层次结构中的多个文件夹中,也可能根本不存在。如果在系统中的任何位置都找不到文件,则应将其名称写入文本文件,每行一个条目

感兴趣的特定文件夹包括:

    C:\WINDOWS\
    C:\WINDOWS\system\
    C:\WINDOWS\system32\
    C:\WINDOWS\system32\dllcache
    C:\WINDOWS\system32\drivers
重命名将通过将目标操作系统驱动器连接到另一台XP计算机来完成,因此锁定的系统文件不应成为问题


非常感谢您提供的任何帮助。

FOR
循环可能会对您有所帮助。。这是一个非常简单的示例,只是为了让您开始

for /f "tokens=*" %%f in (%targetlist%) do (
  for /f "tokens=*" %%d in (%dirlist%) do (
    if exist "%%d\%%f" echo %%f found in %%d
  )
)

有关

的信息,请参阅
帮助。您可能会在SuperUserThank Martin上获得更多响应。。。得到的建议比现在少。谢谢爸爸!它需要改进,但它似乎做了我需要的一切(…直到我想到更多!)