标签: batch-file

在 Windows 批处理文件中获取当前文件夹名称而不是当前路径

可能重复:
通过 DOS 命令获取当前文件夹名称?

在我的批处理文件中,我有,

SET currentFolder=%CD%
echo "%currentFolder%"
Run Code Online (Sandbox Code Playgroud)

打印整个目录路径。

C:\www\scritps\
Run Code Online (Sandbox Code Playgroud)

我需要scripts独处

windows batch-file

6
推荐指数
1
解决办法
2万
查看次数

使用 .bat 文件或 dos 命令提取目录(包括子文件夹)中的所有 Zip

我想提取文件夹及其子文件夹中的所有 .zip 和 .rars

结构是这样的:

MAIN_FOLDER
    -A folder
        - a.zip
            -a.rar
    -B folder
        - b.zip
            -b.rar
    -C folder
        ....    
            ...
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个,但没有用

FOR /D /r %%F in ("*") DO (

  pushd %CD%
 cd %%F
    FOR %%X in (*.rar *.zip) DO (
        "C:\Program Files\7-zip\7z.exe" x %%X
    )
 popd

)
Run Code Online (Sandbox Code Playgroud)

我使用 Windows 并安装了 7-Zip。

附加问题:是否可以将所有从最后一个子文件(a.rar、b.rar)中提取的文件保存在同一个文件夹(主文件夹)中?

windows command-line batch-file 7-zip

6
推荐指数
1
解决办法
4万
查看次数

使用 PowerShell 更改批处理文件中的目录

我需要在 PowerShell 中使用批处理文件更改目录。

假设名为 go.bat 的批处理文件有两行代码。我在 q: 目录中。

   c:
   cd c:\abc\def
Run Code Online (Sandbox Code Playgroud)

当我运行时go.bat,我仍然在 q:

powershell batch-file

6
推荐指数
3
解决办法
2万
查看次数

授予管理员权限并遍历所有文件和文件夹的批处理脚本

我有这个,很确定它有点苛刻但可以完成工作,在驱动器上运行时赋予我对驱动器上文件和文件夹的所有权利,现在我需要帮助将其放入子目录,所以我不需要将 bat 脚本复制到每个文件夹中并必须运行它。

takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F
Run Code Online (Sandbox Code Playgroud)

我如何让它递归遍历驱动器?

windows batch-file icacls

6
推荐指数
1
解决办法
5万
查看次数

如何在没有绝对路径的情况下在远程服务器上调用 cmd

我想在远程服务器上调用 cmd(我们称之为 x.cmd)。x.cmd 将返回日志文件夹中的日志文件。问题是 x.cmd 中的这个日志文件夹没有绝对路径(只是像 log\ 这样的相对路径)所以如果我这样做

wmic /node:server process call create "serverpath\x.cmd"
Run Code Online (Sandbox Code Playgroud)

它将处理 x.cmd 但将日志文件保存到system32我假设的某个地方。如果我添加cd /d %~dp0到 x.cmd 然后它工作正常。不幸的是,我不允许触摸 x.cmd。只是想知道有没有其他方法可以在不修改它的情况下调用 x.cmd 以及正确的输出。谢谢。

JS

windows script batch-file

6
推荐指数
1
解决办法
9860
查看次数

防止exe打开新的命令提示符窗口

我在 Windows 7 命令提示符下。当我运行以下命令时

"C:\Program Files\abc.exe" help  > out.txt
Run Code Online (Sandbox Code Playgroud)

abc.exe 是显示一些信息的第三方程序。发生的情况是打开了一个新窗口,abc.exe 帮助在新窗口上打印输出,然后窗口关闭,我回到原来的窗口。out.txt 文件保持为空。

如何防止 abc.exe 打开新窗口。我可以强制它在同一个原始窗口上显示它的输出,以便它可以重定向到 out.txt。

windows command-line batch-file

6
推荐指数
1
解决办法
1万
查看次数

无法打开到端口 xxxxx 的数据连接:连接超时

我正在使用 Windows 命令行来 ftp 文件。我曾经成功地做到了一次,但从那以后每次都不起作用。我不确定我改变了什么。

从 ftp 中运行 put file_name.txt 命令后,我等待约 3 分钟,然后收到以下错误消息:

425 Could not open data connection to port XXXXX: Connection timed out
Run Code Online (Sandbox Code Playgroud)

服务器确实有该文件,但它的长度为 0 字节。

我禁用了防火墙,并quote pasv在网上搜索此错误后进行了尝试。

有什么建议吗?

ftp <myhost>.com
Connected to <myhost>.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 9 of 500 allowed.
220-Local time is now 12:30. Server port: 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 3 minutes of inactivity. …
Run Code Online (Sandbox Code Playgroud)

ftp batch-file

6
推荐指数
1
解决办法
7724
查看次数

如何访问在不同的 Windows 批处理文件中设置的变量?

我有一个 Windows 批处理文件 - 称为 fileA.bat,其中包含一个变量集。fileA.bat 的示例代码:

set fileA_username=michael
Run Code Online (Sandbox Code Playgroud)

现在我有另一个批处理文件,称为fileB.bat,它需要访问fileA.bat 中设置的这个变量。

所以我在 fileB.bat 中编写的代码想要做这样的事情:

set fileB_username = %fileA_username%
Run Code Online (Sandbox Code Playgroud)

然后在脚本代码中继续使用 fileB_username。

FileB 将调用 fileA 作为执行的一部分,如下所示:

文件B中的代码:

---
---
call fileA.bat
---
---
set fileB_username = fileA_username
---
if fileB_username
----
Run Code Online (Sandbox Code Playgroud)

我如何访问在外部批处理文件中设置的变量?谢谢。

windows batch environment-variables batch-file

6
推荐指数
2
解决办法
2万
查看次数

在 Windows 7 中禁用 DOS 程序上的关闭按钮

在我的公司,我们的商店运行一些旧的 DOS 软件。

在 Windows 7 之前,您可以全屏运行这些程序,而现在则不能。

我知道有一些变通办法可以进入全屏(例如 DOSBox、回滚视频驱动程序)。然而,这两种解决方案都已被证明会引起问题。

作为替代方案,我们希望禁用加载此 DOS 程序的命令提示符窗口上的关闭按钮。

原因是,该程序有自己的关闭方法,在全屏模式下运行良好,但现在没有它,用户单击关闭按钮,这样的关闭会弄乱我们的数据。

如何禁用关闭按钮。

任何帮助表示赞赏,谢谢

windows-7 command-line batch-file

6
推荐指数
1
解决办法
7088
查看次数

如何以提升的权限运行批处理文件命令?

我正在编写一个批处理文件,我将在用户之间分发。我需要以提升的权限运行一些命令。我最初的解决方案是使用:

runas /noprofile /user:Administrator SOME_COMMAND  
Run Code Online (Sandbox Code Playgroud)

然而,许多机器(包括我的)隐藏的管理员帐户处于非活动状态,因此没有设置管理员密码。我也不能指定另一个用户名,因为不同的机器会有不同的用户。有没有办法通过批处理文件复制“右键单击-> 以管理员身份运行”操作?我不介意弹出提示,我只是不希望用户明确右键单击并以管理员身份运行。

windows command-line permissions batch-file

6
推荐指数
1
解决办法
7万
查看次数