我的新问题与我发布的旧问题有关。

我已经发布了这个问题

7zip命令提取路径完整的文件夹到特定文件夹,但不包括父源路径。

我得到“我:\\删除\\上升\\黎明\\文件夹2”

因此引起了一个新的问题。

我想将文件夹“ folder2”复制/移动到父文件夹2级(这意味着两次复制到父文件夹)

I:\\删除\\文件夹2

或在3级情况下升级。

I:\\文件夹2

即“ folder2”应被复制/移动到上级(父文件夹)我指定的次数

谢谢

===============>>#1 票数:1

下面的批处理文件将在第一个参数中指定的文件夹向上移动与在第二个参数中指定的文件夹数量相同的级别:

@echo off
setlocal EnableDelayedExpansion

for %%a in ("%~1") do set "newPath=%%~DPa" & set "folder=%%~Na"
for /L %%i in (1,1,%2) do for %%a in ("!newPath:~0,-1!") do set "newPath=%%~DPa"
ECHO move "%~1" "%newPath%%folder%"

例如,如果先前的批处理文件名为MoveUp.bat

MoveUp "i:\delete\rising\dawn\folder2" 2

如果显示的move命令正确,请删除ECHO部分以执行命令。

编辑回复评论

输出示例:

C:\> MoveUp "i:\delete\rising\dawn\folder2" 2
move "i:\delete\rising\dawn\folder2" "i:\delete\folder2"

C:\> MoveUp "i:\delete\rising\dawn\folder2" 3
move "i:\delete\rising\dawn\folder2" "i:\folder2"

以与上述示例相同的方式运行该程序,并确认获得相同的输出。

如果您得到不同的输出,请在Windows版本之外发布。

如果获得相同的输出,请解释为什么此输出不能解决您的问题,并指定所需的输出。

请记住,该程序只是显示命令! 它不执行它。 如果要让程序执行move命令,则必须以这种方式从最后一行删除ECHO部分:

move "%~1" "%newPath%%folder%"

  ask by sifr_dot_in translate from so

未解决问题?本站智能推荐:

1回复

如何获取Windows批处理的父文件夹

我正在编写批处理文件,我需要获取此bat文件的父文件夹。 有可能吗? NB我是指批处理文件的父文件夹,而不是调用该批处理的提示的当前目录。 谢谢
2回复

批处理文件以列出带有父目录的文件和文件夹

我见过来自不同人士的脚本,这些脚本建议了下面指出的代码: 输出: 这在一段时间内效果很好,但我想知道是否有办法执行相同的想法,但是将父文件夹用制表符分隔。
1回复

仁不父文件夹中的批处理编程工作

这有效 但 这行不通。 如您所见,我只是想重命名父文件夹中的内容,它显示命令的语法不正确。 救命! 谢谢 :)
2回复

使用批处理命令检查文件夹是否为空

如何检查文件夹是空的? 我试过上面的命令,但它没有用。
1回复

批处理命令删除具有特定名称和年龄的文件夹

我已经有了一个脚本(请参见下文),以递归方式删除具有特定扩展名且早于x天数的文件。 我正在寻找用于递归删除名称以{开头和}结束且比x天数长的空文件夹的命令。 有任何想法吗?
1回复

Windows,命令,批处理和自动文件夹图标更改器

真的需要一些帮助! 经过数周的不懈努力... 此脚本将更改所有子目录的属性,然后使用位于子目录\\ Icon中的图标将创建相关的Desktop.ini,它会更改文件夹图标和其他一些设置(如果\\ Icon中有图标) 该脚本的工作方式是更改相关文件夹的属性并创建Desktop.in
1回复

如何根据标题的两个部分将文档移动到特定的文件夹/子文件夹

新手在这里, 试图清理归档头疼。 我需要一个bat.file脚本来根据名称的开头和名称中的某个单词来移动文件。 对不起,很难解释。 这是我的例子。 这些都是我要移动的.pdf文件: 因此,文件将根据名称的数字部分移动。 如果文件名中包含Invoice一词,
1回复

批处理文件在当前目录的所有文件夹中创建文件夹

我正在尝试创建一个在某个目录中运行的简单批处理文件,并转到“foldername data My documents”并创建一个名为“outlook archive”的文件夹 这就是我现在拥有的......但我一直都会遇到错误。 FOR / D %% IN(“C:\\ Users
2回复

批处理文件命令,用于选择用户的路径(用户输入)并创建命令中引用的文件夹

我需要一个批处理文件命令,它将选择用户的目录路径(用户输入),并且应该创建一个由我引用的目录。 例如,如果用户选择路径“ C:\\ New folder”,则批处理文件应创建“ C:New folder \\ Folder1 \\ Folder2”。 路径“ Folder1 \\ Fol
1回复

批量移动文件到子文件夹(递归)

我有 文件夹-A Folder-A1(< - 其中的文件) Folder-A2(< - 其中的文件) 文件夹-B Folder-B1(< - 中的文件) Folder-B2(< - 中的文