我对编码非常陌生(我大约3周前就开始了),我找到了Robocopy,编写了一个非常简单的批处理文件,它基本上是从主目录复制一个文件夹,然后粘贴到两个目的地的子文件夹中,我在启动批处理文件时指定了这个子文件夹。
这看起来很混乱,我一直在尝试HTA并尝试获取它,这样我就可以在HTA中输入变量,然后为我做其他的事情。我在想这比CMD的窗户更好看。
我已经在一个简单的版本中获得了HTA,稍后我将对其进行样式化,但我只是不知道如何将变量传递到批处理文件中,或者是否有更好的方法来做到这一点。我已经阅读了这么多关于这方面的帖子,但它们似乎都比我所需要的要复杂得多,最终我失败了。
我的批处理文件当前
CODE:
set /p dest=Please enter destination:
robocopy "D:\MasterFolder\- Details" "E:\Sets\%dest%" /E /V /NP /R:10 /W:30
robocopy "D:\MasterFolder\- Details" "F:\%dest%" /E /V /NP /R:10 /W:30 这确实很好,但并不是很好的观察,我希望有一个HTA,我可以摆脱第一行,并在一个GUI输入。到目前为止,我已经想出了以下内容,我只需要一些帮助就可以从HTA中获取变量并将其放入批处理文件中。或者一些指导,如果有更好的方法可以实现这一点
<head>
<title>Folder Creator</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Folder Creator"
SCROLL="no"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
>
</head>
<script type="text/javascript">
window.resizeTo(400,200);
</script>
<body>
<label for="dest">Destination:</label>
<input type="text" id="dest">
<br><br>
<button onclick="closeHTA(true);">Create</button>
</body>发布于 2018-01-20 19:42:01
下面是一个从HTA到批处理脚本的变量的示例:Reply_from_HTA.bat
<!-- :: Batch section
@echo off
Title Pass variable from HTA to batch
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply from HTA GUI : "%HTAreply%"
Set "dest=%HTAreply%"
echo robocopy "D:\MasterFolder\- Details" "E:\Sets\%dest%" /E /V /NP /R:10 /W:30
echo robocopy "D:\MasterFolder\- Details" "F:\%dest%" /E /V /NP /R:10 /W:30
pause>nul
goto :EOF
-->
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA GUI Form</TITLE>
<SCRIPT language="Vbscript">
Sub window_onload()
CenterWindow 200,150
Focus
End Sub
Sub CenterWindow(x,y)
window.resizeTo x, y
iLeft = window.screen.availWidth/2 - x/2
itop = window.screen.availHeight/2 - y/2
window.moveTo ileft, itop
End Sub
Function closeHTA(reply)
Set fso = CreateObject("Scripting.FileSystemObject")
fso.GetStandardStream(1).WriteLine(reply)
window.close()
End Function
Sub Focus()
txt.Focus
End Sub
</SCRIPT>
</HEAD>
<BODY>
<center>
<label for="dest">Please enter destination</label>
<br>
<input type="text" id="txt">
<br><Input type="Submit" onclick="closeHTA(txt.value)" value="Submit">
</center>
</BODY>
</HTML>https://stackoverflow.com/questions/48358249
复制相似问题