使用CMD中的用户输入打开文件夹

时间:2018-01-16 11:01:59

标签: windows batch-file cmd

在我的办公室,我们必须同时定期打开许多不同的工作文件夹。我想知道是否有一个脚本允许用户在CMD中输入文件夹名称,它将搜索网络驱动器上的指定目录以在资源管理器中打开该文件夹。

文件夹结构的示例如下:

G / Work_A / 2017:

  • Folder_A
  • Folder_B
  • Folder_C
  • Folder_D

G / Work_A / 2018:

  • Folder_E
  • Folder_F
  • Folder_G
  • Folder_H

(我想搜索2017和2018年的文件夹)

用户输入的所有文件夹也都有唯一的名称。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我不确定你到底想要什么,但你可以试试这个:

 def __init__(self, *args, **kwargs):
            super().__init__( *args, **kwargs )
            self.id = None

答案 1 :(得分:0)

有点不清楚你想要什么因此为什么我和@npocmaka的答案有点不同:)

无论如何,这将提示用户输入foldername,然后搜索该文件夹并在G:\上打开文件夹或文件夹的所有实例,可以修改它以完成所有驱动器或限制为具体目录。

突出的一点是,您说每个文件夹都是唯一的,这意味着每个文件夹只应在G:\上存在一次,因此第一个场景应该有效。

@echo off
set /p promptfolder="Please type the folder you wish to open: "
for /R G:\ %%f in (%promptfolder%) do @IF EXIST %%f explorer.exe "%%f"

如果您想将其明确限制为2017/2018目录:

@echo off
set /p promptfolder="Please type the folder you wish to open: "
for /R G:\Work_A\2017 %%f in (%promptfolder%) do @IF EXIST %%f explorer.exe "%%f"
for /R G:\Work_A\2018 %%f in (%promptfolder%) do @IF EXIST %%f explorer.exe "%%f"

要将其添加为循环,要保持批次打开,请使用goto

@echo off
:start
cls
echo Last folder requested: %promptfolder%
set /p promptfolder="Please type the folder you wish to open: "
for /R G:\Work_A\2017 %%f in (%promptfolder%) do @IF EXIST %%f explorer.exe "%%f"
for /R G:\Work_A\2018 %%f in (%promptfolder%) do @IF EXIST %%f explorer.exe "%%f"
cls
goto start