可能重复:
通过 DOS 命令获取当前文件夹名称?
在我的批处理文件中,我有,
SET currentFolder=%CD%
echo "%currentFolder%"
Run Code Online (Sandbox Code Playgroud)
打印整个目录路径。
C:\www\scritps\
Run Code Online (Sandbox Code Playgroud)
我需要scripts独处
我想提取文件夹及其子文件夹中的所有 .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)中提取的文件保存在同一个文件夹(主文件夹)中?
我需要在 PowerShell 中使用批处理文件更改目录。
假设名为 go.bat 的批处理文件有两行代码。我在 q: 目录中。
c:
cd c:\abc\def
Run Code Online (Sandbox Code Playgroud)
当我运行时go.bat,我仍然在 q:
我有这个,很确定它有点苛刻但可以完成工作,在驱动器上运行时赋予我对驱动器上文件和文件夹的所有权利,现在我需要帮助将其放入子目录,所以我不需要将 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)
我如何让它递归遍历驱动器?
我想在远程服务器上调用 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 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 命令行来 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) 我有一个 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)
我如何访问在外部批处理文件中设置的变量?谢谢。
在我的公司,我们的商店运行一些旧的 DOS 软件。
在 Windows 7 之前,您可以全屏运行这些程序,而现在则不能。
我知道有一些变通办法可以进入全屏(例如 DOSBox、回滚视频驱动程序)。然而,这两种解决方案都已被证明会引起问题。
作为替代方案,我们希望禁用加载此 DOS 程序的命令提示符窗口上的关闭按钮。
原因是,该程序有自己的关闭方法,在全屏模式下运行良好,但现在没有它,用户单击关闭按钮,这样的关闭会弄乱我们的数据。
如何禁用关闭按钮。
任何帮助表示赞赏,谢谢
我正在编写一个批处理文件,我将在用户之间分发。我需要以提升的权限运行一些命令。我最初的解决方案是使用:
runas /noprofile /user:Administrator SOME_COMMAND
Run Code Online (Sandbox Code Playgroud)
然而,许多机器(包括我的)隐藏的管理员帐户处于非活动状态,因此没有设置管理员密码。我也不能指定另一个用户名,因为不同的机器会有不同的用户。有没有办法通过批处理文件复制“右键单击-> 以管理员身份运行”操作?我不介意弹出提示,我只是不希望用户明确右键单击并以管理员身份运行。
batch-file ×10
windows ×7
command-line ×4
7-zip ×1
batch ×1
ftp ×1
icacls ×1
permissions ×1
powershell ×1
script ×1
windows-7 ×1