Привет S У меня вопрос, желательно через консоль или PowerShell На вход идет строка с именем фала, нужно как-то обрезать строку до последней папки (Без файла) и просто открыть в проводнике папку в которой лежит файл
sed
>>170439 Ок, Как это сделать на ОС семейства Windows
>>170441 sed.exe
>>170441 Скачать VS express Набросать нужное на C#/C++ ... PROFIT! Либо посмотри cygwin и gnuwin32.
>>170441
Либо посмотри cygwin и gnuwin32.
И msys/msys2. В bash - basename и dirname.
И msys/msys2.
В bash - basename и dirname.
fr ex: #!perluse File::Basename; use Cwd 'realpath';my $p; eval { $p = realpath $ARGV[0] };$@ and exit 1;# not so naive-d ($p = dirname $p) and system( 'start', $p ); через консоль, чо
fr ex:
#!perluse File::Basename; use Cwd 'realpath';my $p; eval { $p = realpath $ARGV[0] };$@ and exit 1;# not so naive-d ($p = dirname $p) and system( 'start', $p );
через консоль, чо
if($args[0]){ $dirname=split-path $args[0] if($dirname){ii "$dirname"}} Так?
if($args[0]){
$dirname=split-path $args[0]
if($dirname){ii "$dirname"}}
>>170438 $dir = "C:\test\test.file"if (-not (Test-Path $dir -pathType container)) { $dir = Split-Path $dir}explorer $dir
>>170438
$dir = "C:\test\test.file"if (-not (Test-Path $dir -pathType container)) { $dir = Split-Path $dir}explorer $dir
>>170454 Test: $dir = "C:\a b c\d e\f.txt" Result: ?
Делал себе для плейлистов, суть такова: :: Определяем имя текущей папки для названия плейлиста:: итеративно делим путь на две части - "корневая" папка и то, что осталось справа:: если справа ничего не осталось - текущая "папка" последняя в полном пути.set directory=%cd%:startfor /f "delims=\ tokens=1*" %%i in ("%directory%") do ( if not "%%j"=="" ( set directory=%%j goto start ) )echo Folder name is "%directory%"
Делал себе для плейлистов, суть такова:
:: Определяем имя текущей папки для названия плейлиста:: итеративно делим путь на две части - "корневая" папка и то, что осталось справа:: если справа ничего не осталось - текущая "папка" последняя в полном пути.set directory=%cd%:startfor /f "delims=\ tokens=1*" %%i in ("%directory%") do ( if not "%%j"=="" ( set directory=%%j goto start ) )echo Folder name is "%directory%"
>>170455 Ну, кавычки надо проставить, да.
А, так нужен же полный путь без файла, так ещё проще. for %%i in ("filename.ext") do explorer %%~dpi
А, так нужен же полный путь без файла, так ещё проще.
for %%i in ("filename.ext") do explorer %%~dpi
>>170456 PowerShell по сравнению с этим — это рай. А я еще удивлялся, почему виндафаги на него так молятся.
>>170459 Всунули бы его в своё время в обязательные обновления XP. Совместимости ради. И все бы сразу забыли про немощный cmd.
>>170448 Упс, я тоже кавычки забыл в сплите.
- wahaba + wakaba 3.0.9 + futaba + futallaby -