Создание папки и переход в нее в TC
Q: Требуется быстро создать каталог с произвольным именем, и сразу же зайти в него.
A: Скрипт:
'======================================================== ' Создание папки и переход в нее в TC ' В параметрах вызова из TC можно указать название папки, ' иначе будет вызван диалог ввода имени папки '======================================================== Dim FSO, TCS, WS, TotalCmd, DirName, DirPath, MB Set FSO = CreateObject("Scripting.FileSystemObject") Set TCS = CreateObject("TCScript.Helper") Set WS = WScript.CreateObject("WScript.Shell") TotalCmd = """" & TCS.TCPath & "\totalcmd.exe""" if WScript.Arguments.Count > 0 then DirName = WScript.Arguments(0) else DirName = InputBox("Введите имя создаваемой папки:", "Создание папки", "") end if if Len(DirName) = 0 then MB = MsgBox("Не задано имя папки!", vbOKOnly + vbExclamation, "Создание папки") WScript.Quit end if DirPath = TCS.GetSrcPath & "\" & DirName if not FSO.FolderExists(DirPath) then FSO.CreateFolder(DirPath) end if WS.Run TotalCmd & " /o /s """ & DirPath & """" Set FSO = Nothing Set TCS = Nothing Set WC = Nothing WScript.Quit
Q: Возможно ли сделать кнопку "Создание папки с именем из буфера обмена"?
A: Возможно:
Варианты с использованием утилиты Nircmd (с заходом и без):
Код кнопки |
---|
TOTALCMD#BAR#DATA: nircmd execmd md "%P~$clipboard$" & nircmd sendkeypress ctrl+r wcmicons.dll,83 Создать папку с именем из буфера %COMMANDER_PATH%\Utils\nircmd\ -1 |
Без использования клавиш:
Код кнопки |
---|
TOTALCMD#BAR#DATA: nircmd execmd md "%P~$clipboard$" & "%%commander_path%%\totalcmd.exe" /o /s /l="%P~$clipboard$" wcmicons.dll,83 Создать папку с именем из буфера и открыть её %COMMANDER_PATH%\Utils\nircmd\ -1 |
Комбинированный vbs-скрипт для создания папки или пустого файла:
'=====================================================================================
' Cоздание папки/файла c буферным именем и возможностью перехода
' Условие: путь запуска очистить
' Возможные параметры: <переходить к элементу: 1> <расширение файла, если - файл>
' Примеры: <пусто> | 1 | "" lst | 1 txt
'=====================================================================================
With WScript.Arguments
C = .Count : If C > 0 Then Open = .Item(0) : If C > 1 Then Ext = .Item(1)
End With
With CreateObject("WScript.Shell")
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
On Error Resume Next
A = .RegRead(P) : CD = .CurrentDirectory & "\"
If A > 0 Or Err.Number <> 0 Then .RegWrite R, 0, "REG_DWORD"
C = Trim(CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text"))
If A > 0 Then .RegWrite P, A, "REG_DWORD"
On Error Goto 0
End With
If C <> "" Then
If InStr(C, vbLf) > 0 Then C = Left(C, InStr(C, vbCr) - 1)
R C, """", "''" : R C, "|", "-" : R C, ":", " -"
R C, ";", "," : R C, "\", "_" : R C, "/", "_" : R C, "?", "_"
With CreateObject("Scripting.FileSystemObject")
Const M = 1
If Ext = "" Then
Name = C
Do While .FolderExists(CD & Name)
l = l + 1 : If l < 10^M Then PFx = Right(String(M, "0") & l, M) Else PFx = l
Name = C & " (" & PFx & ")"
Loop : .CreateFolder(CD & Name)
Else
Name = C & "." & Ext
Do While .FileExists(CD & Name)
l = l + 1 : If l < 10^M Then PFx = Right(String(M, "0") & l, M) Else PFx = l
Name = C & " (" & PFx & ")." & Ext
Loop : .CreateTextFile(CD & Name)
End If
End With
If Open = "" Then CreateObject("WScript.Shell").SendKeys "^R" Else _
CreateObject("WScript.Shell").Exec "%COMMANDER_EXE% /O /S /L=""" & CD & Name & "\'"""
End If : Sub R(N, A, B) : N = Replace(N, A, B) : End Sub
Flasher
12.11.2014