Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Мой вариант в виде пакетного файла:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sContainerFile=%~1

if defined sContainerFile (
	if exist "%sContainerFile%" (
		if exist "%ProgramFiles%\TrueCrypt\TrueCrypt.exe" (
			if not exist "%~n1:\." (
				start "" "%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /letter %~n1 /volume "%sContainerFile%" /history n /cache n /mountoption removable /quit
			) else (
				start "" "%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /dismount %~n1 /wipecache /silent /quit
			)
		) else (
			echo Can't find [TrueCrypt.exe] in [%ProgramFiles%\TrueCrypt].
			exit /b 3
		)
	) else (
		echo Can't find TrueCrypt container file [%sContainerFile%].
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<TrueCrypt container file^>
	exit /b 1
)

endlocal
exit /b 0

и на WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strContainerFile

Dim strPath2TrueCrypt
Dim strDriveLetter


If WScript.Arguments.Count = 1 Then
	strContainerFile = WScript.Arguments.Item(0)
	
	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FileExists(strContainerFile) Then
			strPath2TrueCrypt = .BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:ProgramFiles").self.Path, "TrueCrypt\TrueCrypt.exe")
			
			If .FileExists(strPath2TrueCrypt) Then
				strDriveLetter = .GetBaseName(strContainerFile) & ":"
				
				If Not .DriveExists(strDriveLetter) Then
					WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /letter " & strDriveLetter & " /volume """ & strContainerFile & """ /history n /cache n /mountoption removable /quit", 1, False
				Else
					WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /dismount " & strDriveLetter & " /wipecache /silent /quit", 1, False
				End If
			Else
				WScript.Echo "Can't find [" & strPath2TrueCrypt & "]."
				WScript.Quit 3
			End If
		Else
			WScript.Echo "Can't find TrueCrypt container file [" & strContainerFile & "]."
			WScript.Quit 2
		End If
	End With
Else
	WScript.Echo "Usage: " & WScript.ScriptName & " <TrueCrypt container file>"
	WScript.Quit 1
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:33, 25-01-2015 | #3