我正在尝试使用.bat文件进行FTP。现在,我要从的位置将部分匹配主驱动器上的位置。我正在从该位置进行mget *
。
示例: \...\...\Folder1\Folder2
现在在我的系统上,我具有文件夹位置\....\....\Folder1\Folder2
我想匹配那些脚本。现在我正在尝试使用
SET MYDIR=%cd%
set MYDIR1=%MYDIR:~41,7%
for %%f in (%MYDIR1%) do set myfolder=%%~nxf
echo %myfolder%
这使我得到了最后一个文件夹,(文件夹2)。但是文件夹将有所不同,我将.bat文件放在不同的文件夹中以执行相同的操作,因此无论文件夹名称的大小如何,我都希望它对应于不同的目录,所以我不能使用硬编码的下标。因此,我以为可能要获取folder2的名称,然后从字符串中将其删除,但是我无法从字符串中删除具有folder2文本的变量。我可以从文本中删除特定的字符串,但是从一个文件夹到下一个文件夹都不知道该字符串是什么。
建议?我基本上希望将最后两个文件夹作为变量,以便可以将它们传递到将从服务器提取的脚本中。
答案 0 :(得分:0)
您可以使用FOR
命令获取当前目录的子目录和父目录名称。
for %%G in ("%cd%\.") do set child=%%~nxG
for %%G in ("%cd%\..") do set parent=%%~nxG